본 게시물은 개인적인 의견으로 작성되었으니 절대적인 정보가 아닐 수 있습니다. 참고만 하시고 궁금한 사항이 있으시면 연락주세요.

티스토리 뷰

[LAB]

데이터베이스의 테이블데이터를 읽어서 플랫파일(CSV)로 내용을 저장하는 방법이다.

쿼리 또는 SSMS 에서 더 편하고 간단하게 구현이 가능하지만 SSIS 패키지로 생성해 보자

 

 

"데이터 TO 플랫파일CSV" 라는 프로젝트를 생성한다.

 

SSIS 도구 상자에서 [데이터 흐름 태스크]를 디자인 영역에 드래그하고, 더블 클릭하여 데이터 흐름 탭으로 자동 이동한다.

SSIS 도구 상자의 즐겨찾기 > [원본 길잡이]를 더블 클릭하여 새 데이터 흐름 원본을 생성한다.

 

원본 길잡이 – 새 원본 추가라는 창에서 [원본 유형 선택]은 SQL Server 선택하고 우측의 연결 관리자 선택의 [새로 만들기]를 더블 클릭한다.

서버이름을 선택하고 인증 및 데이터베이스를 선택한다. 여기서는 AdventureWork2012를 선택하였다.

 

디자인 작업공간에 [OLE DB 원본]을 더블클릭하여 테이블을 선택한다.

 

수집할 원본 테이블 설정이 끝났다. 저장하는 설정에 대하여 진행을 한다.

SSIS 도구 상자 > 기타 대상 > [플랫 파일 대상]을 작업공간에 드래그 한다.

OLEDB 원본의 파란화살표(회색비스므리) 로 연결한다. 이 화살표는 데이터가 이동하는 연결고리이다.

 

[플랫 파일 대상]을 더블 클릭하여 [새로 만들기]를 클릭한다. 플랫 파일 형식에 대하여 선택을 할 수 있으며, 여기서는 [구분 기호로 분리됨] 선택한다.

 

 

[확인]을 클릭하면 연결관리자 편집기 창이 뜬다.

여기서 [파일 이름] 항목에서 찾아보기를 클릭하여 저장할 파일을 입력한다.

열기 기능이지만 저장할 파일은 설정하는 부분이다. 이미 존재하면 해당 파일을 선택하면 되고 없으면 새롭게 정의하면 된다.

 

 

 

왼족의 열 탭을 클릭하면 구분자에 정의가 있다. 기본을 설정하고 넘어간다.

 

 

플랫 파일 대상 편집기 창에서 매핑을 클릭한다.

이미 존재하는 값이 있을 경우에는 서로 매핑에 대하여 점검이 필요하지만 지금은 대상이 되는 데이터가 없기에 넘어간다.

 

여기까지 모든 설정은 끝났다.

F5로 패키지를 실행을 하면 저장경로에 해당 데이터가 모두 저장됨을 확인할 수 있다.

 

SpatialLocation 컬럼이 지원되지 않는 컬럼이라고 오류가 발생한다.

이런경우에 해당 스키마를 변경하거나 매핑 설정 부분에서 해당 컬럼을 삭제하면 된다.

 

다시 패키지를 실행해보자. 정상적으로 수행이 되었고 탐색기에서 해당 CSV파일로 변환이 잘 되었다.

 

 

 

 

메모장에서 데이터를 확인하면 구성은 끝난다.

간단한 설정이지만 여려가지 응용해서 사용하면 좋을 것 같다.

댓글
댓글쓰기 폼
1