SQL Server/SSIS 강좌

문자표 - 문자 데이터를 변환 하자

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

문자표 - 문자 데이터를 변환 하자

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

이번 시간에는 [문자표]에 대해서 알아 보도록 하겠습니다.

문자표는 대문자를 소문자로 변환하거나 전자 문자를 반자 문자로 변환하는 등 문자 데이터에 대해 변환작업을 수행 할 때 사용합니다.

 

대상 속성에 따라 기존 열을 변경하거나 새로운 열을 추가하여 사용 할 수 있습니다.

 

연산 작업의 종류

  • 소문자 : 입력 열의 데이터를 소문자로 변경
  • 대문자 : 입력 열의 데이터를 대문자로 변경
  • 바이트 반전 : 입력 열의 바이트 순서를 반대로 연결
  • 히라가나 : 일본어인 경우 히라가나로 변경
  • 가타카나 : 일본어인 경우 가타카나로 변경
  • 반자 : 전자 문자를 반자로 변경
  • 전자 : 반자 문자를 전자로 변경
  • 대소문자 구분 기능 : 대/소문자의 구분기능 적용
  • 중국어 간체 : 중국어인 경우 간체로 변경
  • 중국어 번체 : 중국어인 경우 번체로 변경

 

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

 

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

[문자표]이름을 지정하여 태스크를 생성 합니다.

 

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

 

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

 

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

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

 

 

[문자표] 작업에서 마우스 오른쪽을 클릭하여 편집을 선택 합니다.

 

아래 그림과 같이 [문자표 변환 편집기]가 실행 됩니다.

편집기에서 변환할 열을 선택 합니다.

하단의 박스에서 [대상] 속성에서 기존 열을 변환할지 새로운 열을 추가할지 선택 합니다.

연산 작업을 선택하여 변환 할 속성을 선택 합니다. 이때 중복으로 선택 가능 합니다.

(실습에서는 대문자 변환을 선택 합니다.)

 

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

 

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

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

 

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

 

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

늘 그러듯!

녹색 : 정상 실행

빨간색 : 오류 발생

 

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

 

정상적으로 소문자의 데이터가 대문자로 변환된 것을 확인 할 수 있습니다.

 

기존의 SSIS기능인 [파생 열] 및 [데이터 변환] 등의 기능과 유사하지만 문자 데이터에 대하여 여러 가지 변환 작업이 필요할 때 활용 할 수 있을 듯 합니다.

 

CASE 1. 다중 속성 변환 작업.

변환 작업의 속성을 두 개 이상 지정한 경우 입니다.

그림 처럼 속성을 다중으로 선택하여 실행 합니다.

 

바이트 순서가 반대로 바뀌어 영어가 한문으로 나타나는 결과입니다. (영어가 한문으로 번역된 데이터가 아님에 주의하여야 합니다.)

 

 

CASE 2. 상반된 옵션 에러.

연산 작업을 여러개 동시에 할 수 있지만 상반된 옵션은 설정 할 수가 없습니다.

예를들면 대분자/소문자, 히라가나/가타가나 등 상반된 옵션을 선택하였을 경우 에러가 발생 합니다.

 

 

 

반응형