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 15443
공지 [UX Summit 요약] 오른쪽 클릭은 옳다 (Right Click is Right) 관리자 2020.11.16 13962
공지 [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 39257
공지 RAD스튜디오(델파이,C++빌더) - 모바일 앱 개발 사례 (2020년 11월 업데이트 됨) 험프리 2014.01.16 174713
654 델파이 실행 시 EditorLineEnds.ttr 파일을 만들 수 없다는 오류 메시지 원인 [1] Humphery 2014.08.15 4622
653 ListBox 로 팝업메뉴 처럼 사용하기 c2design 2013.10.29 4548
652 Update 1 : RAD Studio XE5, Delphi XE5, C++Builder XE5 관리자 2013.10.29 4534
651 [REST API][실습] REST API 서버 개발하기(엔드포인트 구현, RAD 서버 이용) [5] 험프리 2017.05.23 4518
650 [세미나 자료] 2013. 5. 9 RAD스튜디오XE4 런칭 세미나 발표 자료 file 관리자 2013.05.10 4464
649 모바일 앱 실행 시 (비정상종료)검은화면이 표시되는 경우 조치방법 험프리 2015.07.03 4408
648 델파이 iOS 개발 따라잡기: 4. iOS앱으로 바코드 캡쳐하기 관리자 2013.08.27 4391
647 사물인터넷(IoT)과 RAD Studio - 다양한 디바이스 연동 Humphery 2014.03.22 4376
646 데이터스냅(DataSnap) - 이미지 송수신 예제 [1] file Humphery 2014.05.19 4363
645 [소식] Nokia X에서 델파이로 만든 앱도 등록가능합니다. [1] file Humphery 2014.03.11 4343
644 [10.4 시드니 신기능] Sarina Dupont이 정리한 주요 신기능 모아 보기 험프리 2020.05.28 4304
643 RAD Studio IDE 상에서 Github 소스코드 이용하기 [1] file Humphery 2014.07.31 4286
642 9월 6일 RAD Studio XE5 세미나 발표자료입니다. file 관리자 2013.09.09 4169
641 [고객사례-POS, 델파이] MalyKangurek POS (포스 시스템 프로그램) 관리자 2018.07.13 4107
640 [따라하기] "나의 도서관 앱" 개발 Humphery 2014.10.15 4100
639 윈도우 VCL 앱을 iOS로 전환하기 관리자 2013.06.29 4099
638 [XE7] 사물인터넷(IoT)와 RAD Studio -블루투스 [2] Humphery 2014.09.24 4090
637 RAD Studio XE4 따라잡기 워크샵 (부산/대전) 발표자료입니다. file 관리자 2013.05.30 3992
636 [웹세미나] 멋진 모바일 UI 디자인을 위한 7가지 팁 관리자 2013.07.06 3985
635 [10.3 리오][업데이트 3] What's NEW! 신기능 자세히 보기 file 관리자 2019.11.22 3973