다음을 통해 공유


스크립트 구성 요소에서 변수 사용

적용 대상: Azure Data Factory의 SQL Server SSIS Integration Runtime

변수는 패키지와 해당 컨테이너, 태스크 및 이벤트 처리기가 런타임에 사용할 수 있는 값을 저장합니다. 자세한 내용은 Integration Services(SSIS) 변수를 참조 하세요.

스크립트 변환 편집기스크립트 페이지에 있는 ReadOnlyVariablesReadWriteVariables 필드에 쉼표로 구분된 변수 목록을 입력하여 사용자 지정 스크립트에서 기존 변수를 읽기 전용 또는 읽기/쓰기 권한으로 액세스할 수 있게 할 수 있습니다. 변수 이름은 대/소문자를 구분합니다. 개별 변수를 읽고 쓰는 데는 Value 속성을 사용합니다. 스크립트 구성 요소는 스크립트가 런타임에 변수를 조작할 때 백그라운드에서 필요한 잠금을 처리합니다.

Important

ReadWriteVariables 컬렉션은 PostExecute 메서드에서만 사용할 수 있습니다. 따라서 각 데이터 행을 처리할 때 패키지 변수의 값을 직접 증분할 수 없습니다. 대신 지역 변수의 값을 증분하고 모든 데이터가 처리된 후 패키지 변수의 값을 PostExecute 메서드의 지역 변수 값으로 설정합니다. 이 항목의 뒷부분에서 설명한 VariableDispenser 대로 이 속성을 사용하여 이 제한 사항을 해결할 수도 있습니다. 그러나 각 행이 처리될 때 패키지 변수에 직접 값을 쓰면 성능이 저하되고 잠금 충돌의 위험이 높아집니다.

스크립트 변환 편집기스크립트 페이지에 대한 자세한 내용은 스크립트 구성 요소 편집기에서 스크립트 구성 요소 구성스크립트 변환 편집기(스크립트 페이지)를 참조하세요.

스크립트 구성 요소는 속성의 이름이 변수 자체와 동일한 각 미리 구성된 변수의 값에 대해 강력한 형식의 접근자 속성을 사용하여 ComponentWrapper 프로젝트 항목에 Variables 컬렉션 클래스를 만듭니다. 이 컬렉션은 ScriptMain 클래스의 Variables 속성을 통해 제공됩니다. 접근자 속성은 변수 값에 대한 읽기 전용 또는 읽기/쓰기 권한을 적절하게 제공합니다. 예를 들어 ReadOnlyVariables 목록에 명명된 MyIntegerVariable 정수 변수를 추가한 경우 다음 코드를 사용하여 스크립트에서 해당 값을 검색할 수 있습니다.

Dim myIntegerVariableValue As Integer = Me.Variables.MyIntegerVariable

호출하여 VariableDispenser Me.VariableDispenser액세스하는 속성을 사용하여 스크립트 구성 요소의 변수를 사용할 수도 있습니다. 이 경우 변수에 형식화된 접근자 속성과 명명된 접근자 속성을 사용하지 않고 변수에 직접 액세스합니다. 이 함수를 VariableDispenser사용하는 경우 사용자 고유의 코드에서 변수 값에 대한 데이터 형식의 잠금 의미 체계와 캐스팅을 모두 처리해야 합니다. 디자인 타임에 사용할 수 없지만 런타임에 프로그래밍 방식으로 만들어진 변수를 사용하려면 명명된 접근자 속성과 형식화된 접근자 속성 대신 속성을 사용해야 VariableDispenser 합니다.

참고 항목

Integration Services(SSIS) 변수
패키지에서 변수 사용