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 17406
공지 [UX Summit 요약] 오른쪽 클릭은 옳다 (Right Click is Right) 관리자 2020.11.16 15823
공지 [10.4 시드니] What's NEW! 신기능 자세히 보기 관리자 2020.05.27 18434
공지 RAD스튜디오(델파이,C++빌더) - 고객 사례 목록 관리자 2018.10.23 23984
공지 [데브기어 컨설팅] 모바일 앱 & 업그레이드 마이그레이션 [1] 관리자 2017.02.06 25321
공지 [전체 목록] 이 달의 기술자료 & 기술레터 관리자 2017.02.06 20724
공지 RAD스튜디오(델파이, C++빌더) - 시작하기 [1] 관리자 2015.06.30 41282
공지 RAD스튜디오(델파이,C++빌더) - 모바일 앱 개발 사례 (2020년 11월 업데이트 됨) 험프리 2014.01.16 176652
35 [발표자료] 20190214 델파이 24주년 기념 세미나: 델파이 앱 현대화 방안 - 다양한 데이터 서비스 연동하기 관리자 2023.04.20 1799
34 [발표자료] VCL 애플리케이션 확장하기 with RAD 서버 관리자 2020.07.22 435
33 [사례 소개] 데브기어 마이그레이션 유상 컨설팅 사례 험프리 2020.04.22 567
32 High-DPI를 적용한 윈도우 10으로 빠르게 마이그레이션 하기 관리자 2020.01.07 353
31 MS와 엠바카데로 기술팀이 생각하는 윈도우 애플리케이션의 방향 관리자 2020.01.07 378
30 윈도우 버전 점유율 변화: 2009년부터 2019년 현재까지! file 관리자 2019.11.18 386
29 IBM 왓슨과 인공지능(AI) 활용하기 - 델파이/C++빌더 관리자 2019.10.25 690
28 [발표자료] 20191017 실전 사례로 살펴보는 소프트웨어 현대화 전략 file 관리자 2019.10.23 384
27 VCL 앱, 윈도우 10용으로 현대화하기 관리자 2019.09.25 515
26 현대화 작업, 바로 지금이 골든타임입니다! 관리자 2019.09.11 404
25 20년된 델파이 앱을 현대식 마이크로서비스 아키텍처로 전환하기 관리자 2019.09.11 1471
24 [온라인 세미나 시리즈] 윈도우 10으로 현대화 할 때 확인해야 할 개발팁 file 관리자 2019.09.09 639
23 [마이그레이션 사례] 워프비전(64-bit 애플리케이션) 험프리 2019.05.24 964
22 [마이그레이션][팁] 배치파일(커맨드 명령어)을 이용해 손쉽게 소스파일 갯수를 파악할 수 있습니다. 관리자 2019.04.11 574
21 [발표자료] 20190214 델파이 24주년 기념 세미나: 델파이 앱 현대화 방안 - 다양한 데이터 서비스 연동하기 file 관리자 2019.02.15 491
20 델파이 애플리케이션 현대화 방안 관리자 2018.12.18 1148
19 [기술백서] 애플리케이션에 새 생명을 불어넣으세요. file 관리자 2018.07.16 1105
18 [발표자료] 20180621 부산 세미나-What's NEW!! RAD스튜디오: 최신 OS지원과 플랫폼 확장 방안 file 관리자 2018.06.25 352
17 [발표자료] 20180315 마이그레이션, 생각보다 더 쉽습니다 (C++빌더, 델파이) file 관리자 2018.03.19 894
16 개발자가 고민하는 마이그레이션 논쟁 해소를 위한 7가지 핵심 방안 관리자 2018.02.19 1395