FireDAC으로 마이그레이션 후

 

FireDAC으로 마이그레이션 후 다음 오류가 발생하는 경우 조치방법을 참고해 해결하기 바랍니다.

 

엄격한 데이터 타입 체크로 발생되는 오류

Type mismatch for field 'ALLOT_PT', expecting: FMTBcdField actual: Float

Type mismatch for field 'GOAL_SEQ', expecting: Float actual: BCD

 

조치방법

1) 필드 재생성(제거 후 추가)

Type mismatch for field 'ALLOT_PT', expecting: FMTBcdField actual: Float

위 오류에서 TFMTBcdField를 제거 후 추가하면 TFloatField가 추가됩니다.

(필드의 속성값이 유실될 수 있으니 주의하기 바랍니다.)

 

2) MapRules 적용

MapRules를 다음과 같이 적용합니다.(적용 방법은 하단을 참고하세요.)

    FormatOptions.AssignedValues = [fvMapRules]
    FormatOptions.OwnMapRules = True
    FormatOptions.MapRules = <
      item
        SourceDataType = dtFmtBCD
        TargetDataType = dtDouble
      end>

 

데이터 길이 체크 오류

FireDAC][DatS]-32. Variable length column [SCCAREERDESC] overflow. Value length - [8], column maximum length - [4]

 

// 다음과 같이 쿼리에 한글이 포함된 경우 발생할 수 있습니다.

SELECT '1' "SCCAREERTYPE",

       '대졸입사' "SCCAREERDESC"

FROM   DUAL

UNION

SELECT '2' "SCCAREERTYPE",

       '전문입사' "SCCAREERDESC"

FROM   DUAL

 

 

조치방법

1) 필드 재생성

TStringField 제거 후 필드를 추가하면 TWideStringField가 추가됩니다.

 

2) MapRules 적용

    FormatOptions.AssignedValues = [fvMapRules]
    FormatOptions.OwnMapRules = True
    FormatOptions.MapRules = <
      item
        SourceDataType = dtAnsiString
        TargetDataType = dtWideString
      end>

 

 

매핑규칙(MapRules) 적용 방법

매핑규칙 옵션은 TFDConnection, TFDQuery, TFDTable, TFDStoredproc 등에 적용할 수 있습니다.

매핑규칙 옵션은 캐스캐이드(폭포수) 옵션으로 TFDConnection에 적용 시 TFDConnection을 참조하는 TFDQuery, TFDTable, TFDStoredProc 등에 적용됩니다.

 

1) Object Inspector에서 속성을 이용해 적용

FormatOptions.MapRules 속성을 이용해 매핑규칙을 추가할 수 있습니다.

FormatOptions.OwnMapRules 속성을 True로 설정합니다.

FormatOptions.AssignedValues = [fvMapRules] 항목을 지정합니다.

maprules_2.png

 

2) 에디터를 이용해 적용

TFDConnection의 Connection Editor와 TFDQuery의 Query Editor의 Options 탭으로 이동 후 아래 그림과 같이 매핑규칙을 추가할 수 있습니다.

maprules_1.png

 

참고 링크


  • [docwiki] Data Type Mapping - http://docwiki.embarcadero.com/RADStudio/Berlin/en/Data_Type_Mapping_(FireDAC)

 

 

번호 제목 글쓴이 날짜 조회 수
공지 [DelphiCon 요약] 코드사이트 로깅 실전 활용 기법 (Real-world CodeSite Logging Techniques) 관리자 2021.01.19 15441
공지 [UX Summit 요약] 오른쪽 클릭은 옳다 (Right Click is Right) 관리자 2020.11.16 13961
공지 [10.4 시드니] What's NEW! 신기능 자세히 보기 관리자 2020.05.27 16499
공지 RAD스튜디오(델파이,C++빌더) - 고객 사례 목록 관리자 2018.10.23 22055
공지 [데브기어 컨설팅] 모바일 앱 & 업그레이드 마이그레이션 [1] 관리자 2017.02.06 23268
공지 [전체 목록] 이 달의 기술자료 & 기술레터 관리자 2017.02.06 18923
공지 RAD스튜디오(델파이, C++빌더) - 시작하기 [1] 관리자 2015.06.30 39255
공지 RAD스튜디오(델파이,C++빌더) - 모바일 앱 개발 사례 (2020년 11월 업데이트 됨) 험프리 2014.01.16 174699
554 [발표자료] 20160830 나만의 C++애플리케이션 완성하기 with C++빌더 험프리 2016.08.26 1917
553 [FireDAC Skill Sprints] 9. LocalSQL: DB에서 가져온 데이터(데이터셋)를 대상으로 다시 SQL쿼리 실행하기 Humphery 2015.04.01 1903
552 멀티-플랫폼 앱 멋지게! 쉽게! 빠르게! 완성하기 - #.1 한번에 멋지게 개발하기 file 험프리 2019.07.09 1886
551 [10.3 리오] IDE가 현대적이고 깔끔하게 업데이트 되었습니다. 관리자 2018.11.14 1886
550 [개발환경 설정] 안드로이드 기기 연결 시 'USB 디버깅 허용' 창이 표시되지 않는 경우 조치 방법 file 험프리 2018.08.21 1867
549 [동영상] 8단계로 완성하는 "2014년 출시 앨범" 앱 개발 "15"분 만에 완료하기 관리자 2014.10.14 1850
548 [튜토리얼] Mobile Tutorials: Mobile Application Development Humphery 2014.06.13 1848
547 [마이그레이션][팁] 유니코드 검토 대상 분석 도구 다운로드 [1] file 험프리 2015.11.16 1845
546 RAD 스튜디오(델파이, C++빌더) 웹개발 방법(WebBroker, IntraWeb) 험프리 2016.09.07 1829
545 손쉬운 데이터 연결 방법(라이브바인딩 활용): 파이어몽키 코스북 6장 file 관리자 2014.07.18 1806
544 RAD Studio XE6 TChart 패치의 건 Humphery 2014.07.31 1793
543 20140424_Developer Direct LIVE! 2014 세미나 세션 자료입니다. 관리자 2014.04.25 1772
542 [10.3 리오][업데이트 2] Firebase 안드로이드 앱 푸쉬 알림 - 10.3.2에서 FCM 수신 설정하기 [1] file 김원경 2019.08.21 1757
541 FireDAC 성능 비교(BDE, dbGO(ADO), dbExpress, FireDAC) 험프리 2016.08.09 1755
540 [BaaS] VCL에서 특정사용자에게 GCM/APN 전송하기(FMX도 사용가능) Humphery 2014.07.25 1727
539 [시애틀] BSON(Binary JSON)을 처리하고, JSON 데이터를 스트리밍 모델로 읽고, 쓸수 있습니다. file Humphery 2015.10.05 1718
538 [업데이트][10.2 도쿄][릴리즈 2] 10.2 도쿄 - 릴리즈 2 출시 & 설치방법 안내 file 험프리 2017.12.13 1693
537 [마이그레이션] 컴파일러 버젼 [1] 험프리 2014.08.18 1691
536 멀티-티어 애플리케이션 개발과 배포: 파이어몽키 코스북 9장 file 관리자 2014.07.25 1689
535 [FireDAC Skill Sprints] 6. 전처리: SQL문을 유연하게 작성할 수 있는 Param와 Macro 사용하기 Humphery 2015.03.13 1683