스크립트 구성 요소에서 변수 사용
적용 대상: Azure Data Factory의 SQL Server SSIS Integration Runtime
변수는 패키지와 해당 컨테이너, 태스크 및 이벤트 처리기가 런타임에 사용할 수 있는 값을 저장합니다. 자세한 정보는 Integration Services(SSIS) 변수를 참고해 주세요.
스크립트 변환 편집기의 스크립트 페이지에 있는 ReadOnlyVariables 및 ReadWriteVariables 필드에 쉼표로 구분된 변수 목록을 입력하여 사용자 지정 스크립트에서 기존 변수를 읽기 전용 또는 읽기/쓰기 권한으로 액세스할 수 있게 할 수 있습니다. 변수 이름은 대/소문자를 구분합니다. 개별 변수를 읽고 쓰는 데는 Value 속성을 사용합니다. 스크립트 구성 요소는 스크립트가 런타임에 변수를 조작할 때 백그라운드에서 필요한 잠금을 처리합니다.
Important
ReadWriteVariables 컬렉션은 PostExecute 메서드에서만 사용할 수 있습니다. 따라서 각 데이터 행을 처리할 때 패키지 변수의 값을 직접 증분할 수 없습니다. 대신 지역 변수의 값을 증분하고 모든 데이터가 처리된 후 패키지 변수의 값을 PostExecute 메서드의 지역 변수 값으로 설정합니다. 이 항목의 뒷부분에서 설명한 VariableDispenser 대로 이 속성을 사용하여 이 제한 사항을 해결할 수도 있습니다. 그러나 각 행이 처리될 때 패키지 변수에 직접 값을 쓰면 성능이 저하되고 잠금 충돌의 위험이 높아집니다.
스크립트 변환 편집기의 스크립트 페이지에 대한 자세한 내용은 스크립트 구성 요소 편집기에서 스크립트 구성 요소 구성 및 스크립트 변환 편집기(스크립트 페이지)를 참조하세요.
스크립트 구성 요소는 속성의 이름이 변수 자체와 동일한 각 미리 구성된 변수의 값에 대해 강력한 형식의 접근자 속성을 사용하여 ComponentWrapper 프로젝트 항목에 Variables 컬렉션 클래스를 만듭니다. 이 컬렉션은 ScriptMain 클래스의 Variables 속성을 통해 제공됩니다. 접근자 속성은 변수 값에 대한 읽기 전용 또는 읽기/쓰기 권한을 적절하게 제공합니다. 예를 들어 ReadOnlyVariables 목록에 명명된 MyIntegerVariable
정수 변수를 추가한 경우 다음 코드를 사용하여 스크립트에서 해당 값을 검색할 수 있습니다.
Dim myIntegerVariableValue As Integer = Me.Variables.MyIntegerVariable
호출하여 VariableDispenser Me.VariableDispenser
액세스하는 속성을 사용하여 스크립트 구성 요소의 변수를 사용할 수도 있습니다. 이 경우 변수에 형식화된 접근자 속성과 명명된 접근자 속성을 사용하지 않고 변수에 직접 액세스합니다. 이 함수를 VariableDispenser사용하는 경우 사용자 고유의 코드에서 변수 값에 대한 데이터 형식의 잠금 의미 체계와 캐스팅을 모두 처리해야 합니다. 디자인 타임에 사용할 수 없지만 런타임에 프로그래밍 방식으로 만들어진 변수를 사용하려면 명명된 접근자 속성과 형식화된 접근자 속성 대신 속성을 사용해야 VariableDispenser 합니다.