데이터베이스 개발자 Tip & 강좌

SQLER의 개발자들이 만들어가는 데이터베이스 사용자 Tip & 강좌 게시판입니다. SQL서버, Oracle, MySQL 등 여러 클라우드/오픈소스 기반 데이터베이스 개발 및 운영 관련 팁과 쿼리 노하우를 이곳에서 가장 먼저 접하실 수 있습니다. 많은 도움 되시길 바랍니다.

스크립트 구성 요소 – [데이터 변환] 사용

 

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

이버 시간에는 [스크립트 구성 요소] 사용에 대해서 알아 보도록 하겠습니다.

 

2부 – 데이터 변환으로 사용하기!

 

[데이터 변환]은 입력 데이터에 대하여 복잡한 연산을 수행하여 출력 합니다.

 

[스크립트 구성 요소] –[데이터 원본] 사용 관련 링크

http://blog.naver.com/jevida/140160648324

 

 

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

 

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

[스크립트 구성요소 2] 이름을 지정하여 태스크를 생성 합니다.

 

[데이터 흐름] 탭에서 그림과 같이 [스크립트 구성 요소]를 끌어다 놓습니다. 이때 팝업으로 [스크립트 구성 요소 유형 선택]창이 나타 납니다.

이번 실습에서는 [변환]으로 선택 합니다.

 

[레코드 집합 대상]을 드래그 앤 드롭으로 끌어다 놓은 후 데이터 흐름선을 연결 합니다.

 

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

 

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

(본 실습에서는 Adventureworks의 Sales.SalesOrderDetail 테이블 사용)

 

[스크립트 구성 요소]에서 마우스 오른쪽을 클릭하여 [편집]을 선택 합니다.

 

[스크립트 변환 편집기] – [입력 열] 탭에서 아래 그림처럼 입력 열을 선택 합니다.

 

[입/출력] 탭에서는 [열 추가]버튼을 이용해서 [출력 열]을 생성 합니다.

 

[스크립트]탭에서 [스크립트 편집] 버튼을 클릭 합니다.

 

새로운 VS 창이 나타나면 데이터 변환 코드를 프로그래밍 합니다.

이번 실습에서는 Qty(수량)과 가격(UnitPrice)값을 곱한 Total_Price 값을 계산해 보도록 합니다.

 

int Total_Price = 0;

 

Total_Price = Convert.ToInt32(Row.OrderQty) * Convert.ToInt32(Row.UnitPrice);

 

Row.TotalPrice = Total_Price;

 

프로그래밍이 완료 되었으면 VS 창을 닫고 [데이터 흐름 태스크]의 빈 공간에서 마우스 오른쪽을 클릭하여 [변수]를 선택 합니다.

그리고 아래 그림처럼 변수를 생성합니다.

변수의 데이터 형식은 Object로 설정 합니다.

 

[레코드 집합 대상]에서 마우스 오른쪽을 클릭하여 [편집]을 선택 합니다.

 

[레코드 집합 대상 편집기] 창이 나타 납니다.

[구성 요소 속성] 탭에서 [사용자 지정 속성]의 [VariableName] 값을 앞에서 생성하였던 변수[User::TempResult]로 선택 합니다.

 

[입력 열] 탭에서 필요한 입력 열을 선택 합니다.

 

데이처가 처리되는 과정을 확인하기 위해 중간 경로에 [데이터 뷰어]를 추가 합니다.

[스크립트 구성 요소]와 [레코드 집합 대상]간의 녹색 경로에 마우스 오른쪽을 클릭하여 [데이터 뷰어]를 선택 합니다.

 

[데이터 흐름 경로 편집기]창이 나타나면 [데이터 뷰어]탭에서 [표]로 선택 합니다.

 

[구성] 버튼을 이용하여 [데이터 뷰어]에 나타낼 컬럼을 선택 합니다.

 

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

늘 그러듯!

녹색 : 정상 실행

빨간색 : 오류 발생

 

[데이터 뷰어]에 [스크립트 구성 요소]에서 변환한 Total_Price값을 확인 할 수 있습니다. 


강성욱 / jevida@naver.com
Microsoft SQL Server MVP
Blog : http://sqlmvp.kr
Facebook : http://facebook.com/sqlmvp



No. Subject Author Date Views
1533 SSIS - 검사점 jevida(강성욱) 2013.04.19 8352
1532 SSIS - 패키지 구성 [1] jevida(강성욱) 2013.04.19 10120
1531 SSIS - 프로세스 실행 태스크 [2] jevida(강성욱) 2013.04.19 10350
1530 SSIS - 변수 – 다양한 사용자 변수를 만들어 보자 [3] jevida(강성욱) 2013.04.19 10802
1529 SQL Server Version별 Sample Database Download 경로 [2] 쓸만한게없네(윤선식) 2013.04.17 6810
1528 InstrCount함수와 InstrCountRev함수를 한번 만들어봤습니다. [5] Light 2013.03.27 6094
1527 구분자에 의해 구분되어 반환되는 split함수가 없어서 한번 만들어 봤습니다. [2] Light 2013.03.27 7537
1526 Microsoft.ACE.OLEDB.12.0 을 이용한 엑셀 2010 직접쿼리하기 [3] 열이 2013.03.20 42137
1525 Online restore [1] jevida(강성욱) 2013.03.15 6308
1524 SQL Server User Connections [1] jevida(강성욱) 2013.03.15 10597
1523 스크립트 구성 요소 – [데이터 대상] 사용 [1] jevida(강성욱) 2013.03.13 6763
» 스크립트 구성 요소 – [데이터 변환] 사용 jevida(강성욱) 2013.03.13 6128
1521 SSIS - 스크립트 구성 요소 – [데이터 원본] 사용 jevida(강성욱) 2013.03.12 7832
1520 SSIS - 피벗 해제 변환 - 피봇된 데이터를 테이블 형태로 변환 하자! jevida(강성욱) 2013.03.12 7199
1519 SQL Server 단일 사용자 설정 시 SSMS로 로그인하기 [1] 쓸만한게없네(윤선식) 2013.02.25 12284
1518 SELECT 가 Deadlock? [2] 이스트럭(강동운) 2013.02.16 11693
1517 한글 초성 관련 [4] 건우아빠 2012.12.26 13133
1516 .NET 4.5 (VS2012) 설치 후 SSMS 에서 원격 MSSQL 2008 등이 접속 안될 경우! [2] 컴포지트 2012.12.11 17398
1515 SQL프로시저들의 매개변수를 한번에 샥 보여줍니다 [3] 차주언 2012.12.10 9268
1514 SSIS - 피봇 변환 - 데이터를 행렬 변환 하자! jevida(강성욱) 2012.11.30 10004





XE Login