엠바카데로에서 FireDAC Skill Sprint 웨비나(1월 23일 ~ 3월 27일: 매주 금요일 10시)를 진행하고 있습니다.


이 글에서는 웨비나 다시보기와 함께 웨비나 일부 내용을 샘플코드와 함께 소개합니다. 하단 온라인 기술 도움말 링크를 통해 더 자세한 내용을 추가학습하시기 바랍니다.


7회차에는 FireDAC ETL(=Extract, Transform, Load)에 대한 내용으로 진행합니다.

FireDAC ETL이란?

FireDAC의 ETL은 Extract, Transform, Load의 약자로 아래의 역할을 의미합니다.

  • Extract(추출) : 같은 종 또는 이기종 데이터 소스로부터 데이터를 추출
  • Transform(변환) : 쿼리 또는 분석하기 위한 데이터로 저장하기 위해 적절한 포맷과 구조로 변환
  • Load(로드) : 최종 목적(데이터베이스, 더 구체적으로, 운용 데이터 저장소, 데이터 마트, 또는 데이터 창고)으로 로드
FireDAC ETL로 아래의 기능을 구현할 수 있습니다.(몇가지 예시입니다.)
  • Query문으로 조회한 데이터를 엑셀에서 사용할 수 있는 CSV 파일로 내보내기
  • 텍스트파일의 데이터를 데이터베이스 테이블로 가져오기
  • 데이터베이스에서 다른 데이터베이스로 데이터 이동하기

FireDAC ETL 컴포넌트 구성

FireDAC ETL을 FireDAC ETL 카테고리의 컴포넌트를 통해 개발할 수 있습니다.


아래 그림과 같이 TFDBatchMove 컴포넌트가 중심이 되어 좌측의 Reader 컴포넌트로 데이터를 읽고, 우측의 Writer 컴포넌트로 데이터를 씁니다.

Reader, Writer 컴포넌트 각각 데이터셋, SQL, Text 데이터를 읽고 쓸수 있습니다.


TFDBatchMove의 자세한 내용은 엠바카데로 기술문서 - TFDBatchMove 를 참고하시기 바랍니다.

❑ TFDBatchMove 샘플 프로그램 소개

샘플 프로그램에서는 총 3가지 기능을 구현 했습니다.

  1. 데이터셋의 데이터를 텍스트파일로 내보내기
  2. 텍스트파일의 데이터를 데이터셋으로 가져오기
  3. 인터베이스 데이터를 MSSQL 데이터로 옮기기

[샘플코드 받기 - 데브기어 github 페이지]


Batch Move 컴포넌트 배치

위의 3가지 기능 구현을 위한 컴포넌트 배치


TFDBatchMoveTextReader 컴포넌트의 텍스트 파일 정의 속성
텍스트파일 읽기 용도 인 TFDBatchMoveTextReader 컴포넌트는 DataDef 속성으로 텍스트파일의 구조를 정의 합니다.


번호 제목 글쓴이 날짜 조회 수
공지 [DelphiCon 요약] 코드사이트 로깅 실전 활용 기법 (Real-world CodeSite Logging Techniques) 관리자 2021.01.19 21685
공지 [UX Summit 요약] 오른쪽 클릭은 옳다 (Right Click is Right) 관리자 2020.11.16 20306
공지 [10.4 시드니] What's NEW! 신기능 자세히 보기 관리자 2020.05.27 22350
공지 RAD스튜디오(델파이,C++빌더) - 고객 사례 목록 관리자 2018.10.23 28102
공지 [데브기어 컨설팅] 모바일 앱 & 업그레이드 마이그레이션 [1] 관리자 2017.02.06 29403
공지 [전체 목록] 이 달의 기술자료 & 기술레터 관리자 2017.02.06 24725
공지 RAD스튜디오(델파이, C++빌더) - 시작하기 [1] 관리자 2015.06.30 45675
공지 RAD스튜디오(델파이,C++빌더) - 모바일 앱 개발 사례 (2020년 11월 업데이트 됨) 험프리 2014.01.16 181226
26 C++ 빌더 BDE를 FireDAC으로 마이그레이션 자동화 도구 [1] file 험프리 2020.09.10 381
25 인터베이스와 FireDac에서 배열필드 사용하기 file 김원경 2020.04.16 419
24 인터베이스, FireDAC 및 TEMSDataSetResource를 사용하여 RAD 서버에서 자동 증가 필드를 생성하는 방법 file 김원경 2020.04.16 447
23 C++ 개발자를 위한 파이어닥(FireDAC) 시작하기 관리자 2020.01.14 358
22 "모든" 데이터를 프로젝트에 연동하기 - 파이어닥(FireDAC) 엔터프라이즈 커넥터 활용 관리자 2019.09.19 517
21 [FireDac] FDConnection 데이터베이스 Connection 설정 file 김원경 2017.09.01 4739
20 [10.2 도쿄] FireDAC과 데이터베이스 개선 file 김원경 2017.03.23 1254
19 [FireDAC] FireDAC에 대한 궁금증을 FAQ를 통해 해결해 보세요. file 험프리 2017.02.14 556
18 [마이그레이션][FireDAC] MapRules를 적용해 데이터타입 매핑하기 file 험프리 2017.02.07 1072
17 [코드레이지11] FireDAC 이해하기, RAD 스튜디오 데이터 엑세스 프레임워크 선택 - Cary Jensen 험프리 2016.11.24 601
16 FireDAC 성능 비교(BDE, dbGO(ADO), dbExpress, FireDAC) 험프리 2016.08.09 1801
15 [시애틀] FireDAC NoSQL 드라이버로 몽고DB를 완벽 지원합니다. Humphery 2015.09.04 1006
14 파이어닥(FireDAC)으로 IBLite 연결 시 "unavaliable database." 오류 발생에 대한 대응 file Humphery 2015.05.15 789
13 [따라하기] reFind 도구를 이용해 BDE 프로젝트를 FireDAC으로 마이그레이션 따라하기 [9] Humphery 2015.04.14 4220
12 [FireDAC Skill Sprints] 8. TFDMemTable: 메모리 기반 데이터셋 사용하기 Humphery 2015.04.06 2661
11 [FireDAC Skill Sprints] 9. LocalSQL: DB에서 가져온 데이터(데이터셋)를 대상으로 다시 SQL쿼리 실행하기 Humphery 2015.04.01 1996
» [FireDAC Skill Sprints] 7. FireDAC ETL: 데이터 내보내기, 가져오기 기능 구현하기 Humphery 2015.04.01 2174
9 [FireDAC Skill Sprints] 1. FireDAC 소개 험프리 2015.04.01 1627
8 [따라하기] FireDAC으로 오라클(Oracle) DB와 연결하기 험프리 2015.03.24 3125
7 [FireDAC Skill Sprints] 6. 전처리: SQL문을 유연하게 작성할 수 있는 Param와 Macro 사용하기 Humphery 2015.03.13 1758