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 15514
공지 [UX Summit 요약] 오른쪽 클릭은 옳다 (Right Click is Right) 관리자 2020.11.16 13977
공지 [10.4 시드니] What's NEW! 신기능 자세히 보기 관리자 2020.05.27 16519
공지 RAD스튜디오(델파이,C++빌더) - 고객 사례 목록 관리자 2018.10.23 22079
공지 [데브기어 컨설팅] 모바일 앱 & 업그레이드 마이그레이션 [1] 관리자 2017.02.06 23304
공지 [전체 목록] 이 달의 기술자료 & 기술레터 관리자 2017.02.06 18946
공지 RAD스튜디오(델파이, C++빌더) - 시작하기 [1] 관리자 2015.06.30 39293
공지 RAD스튜디오(델파이,C++빌더) - 모바일 앱 개발 사례 (2020년 11월 업데이트 됨) 험프리 2014.01.16 174744
314 [시애틀] 블루투스 LE를 지원하는 디바이스에서 비콘 광고데이터를 발생할 수 있습니다. file Humphery 2015.10.06 690
313 [커뮤니티 에디션] 사용 자격 기준 정리 관리자 2018.11.29 688
312 [10.4 시드니][패치] RAD스튜디오 10.4 '세 번째 패치(Patch 3)': VCL그리드, C++Win64 디버깅, C++ 안드로이드 예외처리 핸들링 및 리소스 등 관리자 2020.07.29 687
311 [고객 사례- 3D, 시뮬레이션, 델파이] 3D Train Studio 관리자 2017.03.02 682
310 [10.4 시드니 신기능] iOS와 맥OS 지원 강화 관리자 2020.06.04 682
309 [프로그래밍 애피타이저] 8장 SQL 정의와문법 file 김원경 2020.04.09 681
308 [베를린 U1] 윈도우 태스크바 알림의 뱃지를 제어할 수 있습니다. 험프리 2016.09.20 680
307 [업데이트][핫픽스][10.1 베를린] 갤럭시 S7 Edge(안드로이드 6.0.1) 디버깅이 되지않는 이슈 패치 험프리 2016.05.27 676
306 IBM 왓슨과 인공지능(AI) 활용하기 - 델파이/C++빌더 관리자 2019.10.25 667
305 [엠바카데로 Feature Friday] RAD스튜디오와 함께사용하면 더욱 강력하게 활용할 수 있는 컴포넌트들 관리자 2018.09.14 667
304 [업데이트][핫픽스][10.2 도쿄] FireMonkey의 Android 호환성 패치 험프리 2017.07.03 667
303 첨부파일을 포함한 이메일 전송하기(iOS, 안드로이드, 윈도우) file 험프리 2017.08.04 666
302 [고객 사례- 쇼핑, 모바일앱, 델파이] 매일 최저가 상품을 보여주는 'Daily Offer' 관리자 2017.06.21 663
301 [고객 사례-영상 제작, 3D, 델파이] FrameForge - 3D 영상 제작 스토리보드 제작용 애플리케이션 관리자 2016.11.30 663
300 [2020년 상반기] 기술자료 TOP 10 - 개발자들이 가장 많이 클릭한 기술자료는? 관리자 2020.07.07 662
299 [오프라인 세미나] 델파이 마이그래이션 - 실전 사례로 살펴보는 소프트웨어 현대화 전략 [1] 관리자 2019.09.27 662
298 델파이 25주년 기념 무료 크로스 플랫폼 샘플 앱 25개 선정(델파이/C++ 샘플 150여종) 험프리 2020.03.02 661
297 [고객사례-생산성도구, 델파이] Change-Pro for Excel - 엑셀 변경항목 분석 프로그램 관리자 2017.10.27 661
296 2020 년 3 월 GM 업데이트 file 김원경 2020.03.30 659
295 C++빌더/델파이 개발자를 위한 최적의 데이터베이스 관리 도구 - 아쿠아 데이터 스튜디오 file 관리자 2018.12.11 659