10.4 출시 후 우리는, 볼랜드 시절의 델파이와 C++빌더로 만들어진 애플리케이션을 새로 현대화하는 업그레이드 마이그레이션을 보다 쉽게 할 수 있는 길을 더 많이 제공해오고 있다. (델파이 최신 버전이 최근의 기술 트렌드를 어떻게 반영하고 있는지에 대한 한글 기술 백서는 www.devgear.co.kr/archives/4588 참조)

새 버전으로 업그레이드 현대화해야 할 이유가 많지만, 가끔은 실현 가능성 면에서 다소 떨어진다는 느낌이 들 때가 있다. 예를 들어 신경쓸 일도 없이 오랫동안 잘 작동해 온 데이터 액세스 계층과 플랫폼에서 데이터를 마이그레이션하려면 두려움이 앞설 수도 있다. 

볼랜드 시절의 델파이와 C++빌더로 만들어진 애플리케이션에서는 데이터 액세스 계층으로 BDE가 흔하게 사용되었다. 하지만, 시간이 가면서 BDE는 역사속으로 사라지고 지금은 우리 모두가 좋아했던 이 32비트 BDE를 능가하는 새로운 기술들이 그 자리를 차지하고 있다.

BDE를 제거하는 첫 단계는 BDE를 대체한 데이터 액세스 컴포넌트를 결정하는 것이다. UniDAC, IBeXpress 등 몇가지 선택지가 있다. 이 글에서는 현재 RAD스튜디오, 델파이, C++빌더의 엔터프라이즈 에디션과 아키텍트 에디션에 들어 있는 FireDAC을 사용한다. (FireDAC에 대한 더 자세한 내용은 FireDAC Docwiki 참조)

BDE에서 FireDAC으로 마이그레이션하기

데이터 액세스 계층을 교체하는 것은 해를 거듭하면서 점점 더 쉬워지고 있다. 지금은 BDE용과 DBExpress용 reFind (델파이에서만 작동), C++빌더와 델파이 모두에서 작동하는 Delphi Parser의 DBE to FireDAC 마이그레이션 도구 등 여러 도구들이 있다. 아래 비디오(총 7분 30초)는 reFind 도구를 사용하여 폼에서 사용되는 BDE 컴포넌트를 FireDAC으로 마이그레이션하는 방법을 보여준다. 

[비디오 1] BDE to FireDAC, 이 비디오에 대한 한글 요약 번역은 여기를 참조.

BDE 데이터 소스를 인터베이스(InterBase)로 지정하기

컴포넌트 마이그레이션을 마치고, 기존의 데이터베이스를 그대로 사용하는 경우도 있다. FireDAC은 파라독스(Paradox) 등 기타 데스트톱 데이터베이스를 지원할 때는 ODBC를 사용하지만, 오라클, DB2, MySQL, MSSQL, InterBase/FireBird 등등 널리 사용되는 많은 데이터베이스들의 경우에는 전용 드라이버를 사용한다.

인터베이스 데이터베이스에는 데이터베이스 스키마를 그려서 생성하거나 리버스 엔지니어링을 할 수 있는 데이터베이스 설계 도구가 들어있어서 데이터 임포트/익스포트 기능을 사용할 수 있다. 하지만, 해당 절차를 더 쉽게 할 수 있는 도구들도 있다. 프리웨어인 InterBase Datapump 역시 그 중 하나이다. 나는 BDE 데이터 소스를 인터베이스 데이터베이스로 마이그레이션할 때 이 도구를 사용한다.

[비디오 2] 인터베이스 DataPump 사용하기, 이 비디오에 대한 한글 요약 번역은 여기를 참조.

마이그레이션을 통해 오래된 기술을 제거하는 것에 대한 자료는 많다. Embarcadero Upgrade and Migration Center 에서 델파이와 C++빌더로 만들어진 오래된 애플리케이션을 현대화하고 업그레이드 하는 작업을 어떻게하면 쉽게 할 수 있는지를 알 수 있다.

역자 주, 엠바카데로의 영문 자료와 함께 데브기어의 한글 자료도 도움이 될 수 있습니다.

번호 제목 글쓴이 날짜 조회 수
공지 [DelphiCon 요약] 코드사이트 로깅 실전 활용 기법 (Real-world CodeSite Logging Techniques) 관리자 2021.01.19 15417
공지 [UX Summit 요약] 오른쪽 클릭은 옳다 (Right Click is Right) 관리자 2020.11.16 13960
공지 [10.4 시드니] What's NEW! 신기능 자세히 보기 관리자 2020.05.27 16496
공지 RAD스튜디오(델파이,C++빌더) - 고객 사례 목록 관리자 2018.10.23 22048
공지 [데브기어 컨설팅] 모바일 앱 & 업그레이드 마이그레이션 [1] 관리자 2017.02.06 23267
공지 [전체 목록] 이 달의 기술자료 & 기술레터 관리자 2017.02.06 18921
공지 RAD스튜디오(델파이, C++빌더) - 시작하기 [1] 관리자 2015.06.30 39245
공지 RAD스튜디오(델파이,C++빌더) - 모바일 앱 개발 사례 (2020년 11월 업데이트 됨) 험프리 2014.01.16 174696
» BDE/파라독스를 인터베이스(INTERBASE)로 마이그레이션 하기 관리자 2021.05.31 534
25 이 달의 기술자료 - 2021년 02월 file 험프리 2021.01.26 509
24 개발. 공유. 영감. – 엠바카데로 총괄 매니저가 전하는 메세지 (2020.11) 관리자 2020.12.01 338
23 [10.4.1 패치] 델파이 컴파일러와 LSP 업데이트 관리자 2020.11.11 727
22 개발자가 지원해야 하는 핵심 플랫폼들 관리자 2020.11.02 299
21 [10.4 시드니 신기능] Sarina Dupont이 정리한 주요 신기능 모아 보기 험프리 2020.05.28 4304
20 [10.4 프리뷰] 베타 서비스 시작 & 새 기능 미리 보기 관리자 2020.03.03 1612
19 새로운 FMX 테마 - 우분투(Ubuntu) Clear Fantasy 스타일 관리자 2020.02.19 429
18 [10.3 리오][업데이트 3] 엔터프라이즈 커넥터가 무상 제공됩니다 (엔터프라이즈, 아키텍트 사용 고객 한정) file 관리자 2019.11.22 645
17 [10.3 리오][업데이트 3] What's NEW! 신기능 자세히 보기 file 관리자 2019.11.22 3973
16 [10.3 리오][업데이트 2] 델파이 리눅스 클라이언트 애플리케이션 지원 관리자 2019.09.10 406
15 [10.3 리오][업데이트 2] RAD서버 마법사 & 배포 기능 업그레이드 관리자 2019.09.10 259
14 이 달의 기술자료 - 2019년 09월 file 험프리 2019.08.28 314
13 FMX Linux (파이어몽키 리눅스) 첫 걸음 시작하기 관리자 2019.07.10 1212
12 이 달의 기술자료 - 2019년 01월 험프리 2018.12.28 522
11 델파이 애플리케이션 현대화 방안 관리자 2018.12.18 1136
10 엠바카데로가 제안하는 가장 효율적인 비용으로 최신식 앱 개발 방법 관리자 2018.12.11 978
9 웹 영역으로의 확장을 위한 크로스-플랫폼 웹 애플리케이션 개발 방법 - Ext JS 관리자 2018.12.11 785
8 올인원 테스트 자동화 솔루션 - 래노렉스(Ranorex) file 관리자 2018.12.11 629
7 C++빌더/델파이 개발자를 위한 최적의 데이터베이스 관리 도구 - 아쿠아 데이터 스튜디오 file 관리자 2018.12.11 657