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 17809
공지 [UX Summit 요약] 오른쪽 클릭은 옳다 (Right Click is Right) 관리자 2020.11.16 16172
공지 [10.4 시드니] What's NEW! 신기능 자세히 보기 관리자 2020.05.27 18824
공지 RAD스튜디오(델파이,C++빌더) - 고객 사례 목록 관리자 2018.10.23 24396
공지 [데브기어 컨설팅] 모바일 앱 & 업그레이드 마이그레이션 [1] 관리자 2017.02.06 25780
공지 [전체 목록] 이 달의 기술자료 & 기술레터 관리자 2017.02.06 21136
공지 RAD스튜디오(델파이, C++빌더) - 시작하기 [1] 관리자 2015.06.30 41722
공지 RAD스튜디오(델파이,C++빌더) - 모바일 앱 개발 사례 (2020년 11월 업데이트 됨) 험프리 2014.01.16 177030
703 웹사이트 메트릭스, 앱에 바로 적용하는 방법 관리자 2021.07.09 1152
702 [XE8] 멀티-디바이스 미리보기: 다양한 디바이스 화면을 미리보며 최적화된 화면 개발하기 Humphery 2015.04.17 1152
701 델파이 애플리케이션 현대화 방안 관리자 2018.12.18 1150
700 RAD Studio XE7에서 iOS개선된 내용 관리자 2014.11.22 1149
699 Thalmic Labs의 MYO Armband Delphi SDK Beta7입니다. 쭈니아빠 2015.04.18 1145
698 C++과 파이어몽키로 멋진 UI 완성하기 관리자 2018.05.21 1144
697 BPL(패키지)를 이용해 프로그램 모듈화 하기 험프리 2015.11.24 1143
696 [Delphi week 2015] 윈도우 3.11에서 델파이1.0 사용하기 관리자 2015.02.13 1142
695 [도서/PDF/소스코드] 델파이 Begin...End - 21장. 쓰레드 관리자 2019.08.20 1139
694 FCM 전송 구헌혀기 - 앱 서버 프로토콜 사용 메시지 전송 험프리 2019.11.08 1138
693 델파이로 빅데이터 데이터베이스 연동하기(Cassandra, Couchbase, MongoDB) 험프리 2017.10.30 1137
692 RAD Studio IDE에서 SVN 사용하기 + TortoiseSVN 사용하기 험프리 2016.02.29 1136
691 [10.4] 커스텀 매니지드 레코드(Custom Managed Records) 험프리 2020.05.14 1124
690 [시애틀] 윈도우32비트 프로젝트에서 C++11 표준을 적용할 수 있습니다. Humphery 2015.09.07 1123
689 [고객사례-소셜네트워크, 델파이] KisKis 관리자 2019.10.25 1122
688 [베를린] FireUI 앱 미리보기 - 개발중인 앱의 디자인을 장치에서 실시간으로 확인하며 개발할 수 있습니다. file 험프리 2016.04.22 1122
687 [온라인 세미나 발표자료] Develper Direct LIVE - XE7 DeepDive [2] 관리자 2014.11.29 1114
686 [추가된 문법] DLL 정적 호출 시 지연 호출(Delayed)-델파이 2010 추가 김원경 2016.12.27 1113
685 [10.3 리오] What's NEW! 신기능 자세히 보기 관리자 2019.09.02 1112
684 20150204 VCL 개발자를 위한 Speed UP! RAD스튜디오 관리자 2015.02.05 1110