공통 [FireDAC Skill Sprints] 7. FireDAC ETL: 데이터 내보내기, 가져오기 기능 구현하기
2015.04.01 02:59
엠바카데로에서 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가지 기능을 구현 했습니다.
- 데이터셋의 데이터를 텍스트파일로 내보내기
- 텍스트파일의 데이터를 데이터셋으로 가져오기
- 인터베이스 데이터를 MSSQL 데이터로 옮기기
Batch Move 컴포넌트 배치
위의 3가지 기능 구현을 위한 컴포넌트 배치
TFDBatchMoveTextReader 컴포넌트의 텍스트 파일 정의 속성
텍스트파일 읽기 용도 인 TFDBatchMoveTextReader 컴포넌트는 DataDef 속성으로 텍스트파일의 구조를 정의 합니다.