SQL Server/SSIS 강좌

데이터 변환 - 컬럼 속성을 변경하자

SungWookKang 2015. 7. 16. 09:48
반응형

데이터 변환 - 컬럼 속성을 변경하자

 

안녕하세요 강성욱 입니다. (www.sqltag.org, www.sqler.com, blog.naver.com/jevida)

이번 시간에는 데이터 변환에 대해서 알아 보도록 하겠습니다.

데이터 변환은 특정열에 대해여 데이터 형식, 길이, 자릿수, 코드 페이지 등의 속성을 변경하는 작업 입니다.

 

BIDS를 실행하여 [Integration Services 프로젝트]를 생성 합니다.

 

[제어흐름] 탭에서 [데이터 흐름 태스크]를 드래그 앤 드롭 으로 추가 합니다.

[데이터 변환] 이름을 지정하여 태스크를 생성 합니다.

 

[데이터 흐름]탭에서 그림과 같이 원본데이터(OLE DB 원본)와 대상 데이터(OLD DB 대상)을 끌어다 놓습니다. 그리고 그 사이에 [데이터 변환] 작업을 추가하여 데이터 흐름 선을 연결 합니다.

 

[원본 데이터]에서 마우스 오른쪽을 클릭하여 [편집]을 선택 합니다.

 

그림과 같이 편집 창이 나타나면 [OLE DB 연결 관리자]에서 원본 DB의 연결 관리자를 선택하고 해당 테이블을 선택하여 미리 보기를 이용하여 정상적으로 데이터가 읽어오는지 확인 합니다.

(본 실습에서는 Adventureworks의 Address 테이블 사용)

 

[데이터 변환] 작업에서 마우스 오른쪽을 클릭하여 편집을 선택 합니다.

 

[데이터 변환 편집기]가 나타나면 아래 그림과 같이 데이터 변환에 사용할 컬럼을 선택 합니다. 그러면 편집기 하단에서 선택된 컬럼의 대상 이름 및 출력 속성을 지정 할 수 있습니다.

 

현재는 기존의 데이터 타입 및 길이를 나타내고 있습니다.

 

출력 별칭 및 데이터 형식, 길이 등을 수정 합니다.

[AdressID] : 부호없는 4바이트 정수 -> 문자열 50

[City] : 유니코드 문자열 30 -> 유니코드 문자열 200

 

[대상 데이터] 작업에서 마우스 오른쪽을 클릭하여 편집을 선택 합니다.

 

[OLE DB 연결 관리자]에서 대상 DB의 연결관리자를 선택 합니다. 그리고 [새로 만들기] 버튼을 클릭하여 대상 테이블을 새로 만들어 봅니다. (이미 대상 테이블이 존재하는 경우 [테이블 또는 뷰 이름]에서 대상 테이블을 선택 합니다.)

[새로 만들기]를 선택하면 [데이터 변환]작업에 추가하였던 컬럼이 자동으로 생성됨을 확인 할 수 있습니다.

 

[매핑] 탭으로 이동하여 해당 데이터의 원본과 대상이 적절히 매핑 되었는지 확인 합니다.

 

편집이 완료 되었으면 패키지를 실행 합니다.

늘 그러듯!

녹색 : 정상 실행

빨간색 : 오류 발생

 

패키지 작업이 완료 되었으면 SSMS를 실행하여 실제로 데이터가 정상적으로 변환 되었는지 확인 합니다.

sp_help [대상데이터]

GO

select * from [대상데이터]

GO

 

테이블 속성을 확인하여 기존 데이터의 속성과 변환된 컬럼의 속성을 비교 하여 잘 변환되었는지

확인 합니다.

 

그리고 정상적으로 데이터가 입력된 것을 확인 할 수 있습니다.

 

 

이 작업은 대용량 ETL 작업시 집계유형에 따라 컬럼의 속성을 변경하는 데이터를 가져올 때 유용할 듯 합니다.

반응형