스크립트 구성 요소에서 변수 사용Using Variables in the Script Component

변수에는 패키지와 해당 컨테이너, 태스크 및 이벤트 처리기에서 런타임에 사용할 수 있는 값이 저장됩니다.Variables store values that a package and its containers, tasks, and event handlers can use at run time. 자세한 내용은 Integration Services(SSIS) 변수를 참조하세요.For more information, see Integration Services (SSIS) Variables.

기존 변수를 사용할 수 있는 읽기 전용으로 설정 하거나 읽기/쓰기 권한으로 사용자 지정 스크립트에서 변수의 쉼표로 구분 된 목록을 입력 하 여는 ReadOnlyVariablesReadWriteVariables 필드에 스크립트 의 페이지는 스크립트 변환 편집기합니다.You can make existing variables available for read-only or read/write access by your custom script by entering comma-delimited lists of variables in the ReadOnlyVariables and ReadWriteVariables fields on the Script page of the Script Transformation Editor. 변수 이름은 대/소문자를 구분합니다.Keep in mind that variable names are case-sensitive. 사용 하 여는 개별 변수를 읽고 속성입니다.Use the Value property to read from and write to individual variables. 스크립트 구성 요소에서는 스크립트를 통해 런타임에 변수가 조작될 때 필요한 모든 잠금을 백그라운드에서 처리합니다.The Script component handles any required locking behind the scenes as your script manipulates the variables at run time.

중요

컬렉션 ReadWriteVariables 는 에서만 사용할 수는 PostExecute 메서드 성능을 최대화 하 고 잠금 충돌의 위험을 최소화 합니다.The collection of ReadWriteVariables is only available in the PostExecute method to maximize performance and minimize the risk of locking conflicts. 따라서 각 데이터 행을 처리할 때 패키지 변수의 값을 직접 증분시킬 수 없습니다.Therefore you cannot directly increment the value of a package variable as you process each row of data. 대신 지역 변수의 값이 증가 하 고 패키지 변수의 값에 있는 지역 변수의 값으로 설정 된 PostExecute 메서드 후 모든 데이터를 처리 합니다.Increment the value of a local variable instead, and set the value of the package variable to the value of the local variable in the PostExecute method after all data has been processed. 이 항목의 뒷부분에 설명된 대로 VariableDispenser 속성을 사용하여 이 제한을 해결할 수도 있습니다.You can also use the VariableDispenser property to work around this limitation, as described later in this topic. 그러나 각 행이 처리될 때 패키지 변수에 직접 값을 쓰면 성능이 저하되고 잠금 충돌의 위험이 높아집니다.However, writing directly to a package variable as each row is processed will negatively impact performance and increase the risk of locking conflicts.

에 대 한 자세한 내용은 스크립트 의 페이지는 스크립트 변환 편집기, 참조 스크립트 구성 요소 편집기에서 스크립트 구성 요소 구성스크립트 변환 편집기 ( 스크립트 페이지 ) .For more information about the Script page of the Script Transformation Editor, see Configuring the Script Component in the Script Component Editor and Script Transformation Editor (Script Page).

스크립트 구성 요소를 만듭니다는 변수 의 컬렉션 클래스는 ComponentWrapper 속성 변수 자체와 동일한 이름에 있는 미리 구성 된 각 변수의 값에 대 한 강력한 형식의 접근자 속성을 가진 프로젝트 항목입니다.The Script component creates a Variables collection class in the ComponentWrapper project item with a strongly-typed accessor property for the value of each preconfigured variable where the property has the same name as the variable itself. 이 컬렉션을 통해 노출 되는 변수 의 속성은 ScriptMain 클래스.This collection is exposed through the Variables property of the ScriptMain class. 접근자 속성은 변수 값에 대한 읽기 전용 또는 읽기/쓰기 권한을 적절하게 제공합니다.The accessor property provides read-only or read/write permission to the value of the variable as appropriate. 예를 들어, 라는 정수 변수를 추가한 경우 MyIntegerVariableReadOnlyVariables 목록에서 있습니다 수 해당 값을 검색 스크립트에 다음 코드를 사용 하 여:For example, if you have added an integer variable named MyIntegerVariable to the ReadOnlyVariables list, you can retrieve its value in your script by using the following code:

Dim myIntegerVariableValue As Integer = Me.Variables.MyIntegerVariable

Me.VariableDispenser를 호출하여 액세스할 수 있는 VariableDispenser 속성을 사용하여 스크립트 구성 요소에서 변수를 사용할 수도 있습니다.You can also use the VariableDispenser property, accessed by calling Me.VariableDispenser, to work with variables in the Script component. 이 경우 변수에 대한 형식화되고 명명된 접근자 속성을 사용하지 않고 변수에 직접 액세스합니다.In this case you are not using the typed and named accessor properties for variables, but accessing the variables directly. VariableDispenser를 사용하는 경우 개발자가 자신의 고유 코드에서 잠금 의미 체계와 변수 값에 대한 데이터 형식 캐스팅을 모두 처리해야 합니다.When using the VariableDispenser, you must handle both the locking semantics and the casting of data types for variable values in your own code. 디자인 타임에는 사용할 수 없지만 런타임에 프로그래밍 방식으로 만들어지는 변수를 사용하려면 명명되고 형식화된 접근자 속성 대신 VariableDispenser 속성을 사용해야 합니다.You have to use the VariableDispenser property instead of the named and typed accessor properties if you want to work with a variable that is not available at design time but is created programmatically at run time.

관련 항목:See Also

Integration Services ( Ssis) 변수 Integration Services (SSIS) Variables
패키지에서 변수 사용Use Variables in Packages