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

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

변수 – 다양한 사용자 변수를 만들어 보자

 

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

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

 

지금까지 [데이터 흐름]에 대한 강좌를 하면서 중간 중간에 변수 사용에 대한 실습을 진행하였습니다. 이번 시간에는 변수에 대해서 좀더 자세히 알아보고 각 항목에 대한 특성을 알아 보도로 합니다.

 

SSIS에는 크게 두 가지 유형의 변수가 있습니다.

  • 시스템 변수 – 패키지 생성일자, 패키지 GUID, Version GUID, Machine Name 등 패키지 수행 환경에 대한 정보가 저장되는 변수.

 

  • 사용자 변수 – 패키지 내에서 작업을 수행할 때 사용되는 변수로 사용자가 필요에 따라 추가하며 값을 변경 할 수 있음

 

 

SSIS의 변수 범위는 컨테이너 개체를 기준으로 범위가 결정 됩니다. 작업 개체 역시 하나의 작업 호스트 컨테이너이기 때문에 변수의 범위로 정의 될 수 있습니다.

 

사용자 변수를 추가하는 방법을 알아 보도로 하겠습니다.

 

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

 

[변수] 탭을 실행하는 방법은 두 가지가 있습니다.

[보기] – [다른 창] –[변수]

 

또는 빈 공간에서 마우스 오른쪽을 클릭하여 [변수]를 선택 합니다.

 

[변수]탭을 활성화 시키면 다음 그림과 같이 [변수]탭이 나타나고 변수를 생성 할 수 있는 메뉴가 나타 납니다.

 

 

변수를 추가한다

변수를 삭제 한다

시스템 변수 목록 보기

현재 패키지에 정의된 모든 사용자 변수 보기

변수 열 선택

 

 

변수의 범위는 변수를 추가할 때 지정할 수 있는 것이 아니며 변수 추가 할 때 선택되어 있는 컨테이너가 자동으로 변수 범위를 설정 합니다.

 

아래 그림은 각 컨테이너 별로 변수를 생성한 화면 입니다.

컨테이너에 따라 범위가 자동으로 지정되는 것을 확인 할 수 있습니다.

 

만약 상위 범위의 변수를 추가하고 싶으면 상위 영역으로 이동하여 변수를 추가 합니다.

 

[제어 흐름 영역], [데이터 흐름 영역], [이벤트 처리기 작업 영역] 에서의 시스템 변수는 조금 차이가 있습니다.

 

[패키지 수준의 시스템 변수]

시스템 변수

데이터 형식

이벤트 처리기

CalcelEvent

Int32

0이 아닌 값으로 설정되는 경우 작업 실행이 중지됨을 나타내는 이벤트 핸들

CreationDate

DateTime

패키지를 만든 날짜

CreatorComputerName

String

패키지를 만든 컴퓨터

CreatorName

String

패키지를 만든 사용자의 이름

ExecutionInstanceGUID

String

실행 중인 패키지의 고유 식별자

InteractiveMode

Boolean

패키지가 대화형 모드에서 실행 중인지 여부를 나타냄. SSIS디자이너에서 패키지를 실행 중인 경우 이 속성은 True로 설정.

LocaleID

Int32

패지지에서 사용되는 LocaleID

MachineName

String

패키지가 실행 중인 컴퓨터 이름

OfflineMode

Boolean

패키지가 오프라인 모드인지 여부를 나타냄. 오프라인 모드에서는 데이터 원본에 연결하지 않음.

PackageID

String

패키지의 고유 식별자

PackageName

String

패키지의 이름

StartTime

DateTime

패키지 실행을 시작한 시간

UserName

String

패키지를 시작한 사용자의 계정. 사용자 이름은 도메인 이름에 의해 한정 됨.

VersionBuild

Int32

패키지 버전

VersionComment

String

패키지 버전에 대한 설명

VersionGUID

String

버전의 고유 식별자

VersionMajor

Int32

패키지의 주 버전

VersionMinor

Int32

패키지의 부 버전

 

[컨테이너의 시스템 변수]

시스템 변수

데이터 형식

설명

LocalID

Int32

컨테이너에 사용되는 LocalID

 

[작업 수준의 시스템 변수]

시스템 변수

데이터 형식

설명

CreationName

String

작업 이름

LocaleID

Int32

작업에서 사용되는 LocalID

TaskID

String

작업의 고유 식별자

TaskName

String

작업 이름

TaskTransactionOption

Int32

작업에서 사용되는 트랜잭션 옵션

 

[이벤트 처리기의 시스템 변수]

시스템 변수

이벤트 처리기

설명

Cancel

OnError

OnWarning

OnQueryCancel

오류, 경고 또는쿼리 취소가 발생할 때 이벤트 처리기 실행이 중지되는지 여부를 나타 냄

ErrorCode

OnError

OnInformation

OnWarining

오류 식별자

ErrorDescription

OnError

OnInformation

OnWarining

오류에 대한 설명

ExecutionStatus

OnExecStatusChanged

현재 실행 상태

ExecutionValue

OnTaskFailed

실행 값

LocaleID

All

이번트 처리에서 사용되는 LocalD

PercentComplete

OnProgress

완료된 작업의 백분율

ProgressCountHigh

OnPregress

OnProgress이벤트에 의해 처리된 전체 작업 개수를 나타내는 64비트 값의 상위 부분

ProgressCountLow

OnPregress

OnProgress 이벤트에 의해 처리된 전체 작업 개수를 나타내는 64비트 하위 부분.

ProgressDescription

OnPregress

진행률에 대한 설명

Propagate

All

이벤트가 상위 수준의 이벤트 처리기로 전달되는지 여부

SourceDescription

All

이벤트 처리기에서 이벤트를 발생 시킨 실행 개체에 대한 설명

SourceID

All

이벤트 처리기에서 이벤트를 발생 시킨 실행 개체의 고유 식별자

SourceName

All

이벤트 처리기에서 이벤트를 발생시킨 시행 개체의 이름

VariableDescription

OnVariableValueChanged

변수 설명

VariabeID

OnVariableValueChanged

변수의 고유 식별자

 


강성욱 / 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
» 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 42139
1525 Online restore [1] jevida(강성욱) 2013.03.15 6308
1524 SQL Server User Connections [1] jevida(강성욱) 2013.03.15 10598
1523 스크립트 구성 요소 – [데이터 대상] 사용 [1] jevida(강성욱) 2013.03.13 6763
1522 스크립트 구성 요소 – [데이터 변환] 사용 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 11695
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