Можете да използвате компонент Data Flow Script, за да прехвърлите стойност на колона за поток от данни към променлива SSIS. Въпреки това, трябва да спазвате определени правила, когато работите с компонента Data Flow Script и SSIS променливите.
SSIS не ви позволява да присвоявате стойности на SSIS променливи в процедурата на скрипт, която обработва редове. Но има процедури преди и след изпълнение, при които можете да се справите със заданието.
Във вашия компонент Script добавете променливата SSIS към свойството ReadWriteVariables. Редактирайте скрипта и декларирайте променлива в класа ScriptMain. Използвайте процедурата PreExecute, за да инициализирате променливата. Използвайте процедурата ProcessInputRow, за да присвоите стойността на колоната input -buffer на променливата на скрипта. И използвайте задачата PostExecute, за да присвоите стойността от променливата на скрипта на променливата SSIS.
Ето примерен компонент на VB скрипт. Той има SSIS променлива (MyOutVariable), която ще получи изхода на променливата на скрипта (MyVar). Променливата MyVar получава стойността си от колоната MyNumber в потока от данни.
Public Class ScriptMain
Inherits UserComponent
Dim MyVar As Integer
Public Overrides Sub PreExecute()
MyBase.PreExecute()
'initialize variable local to data flow
MyVar = 0
End Sub
Public Overrides Sub PostExecute()
MyBase.PostExecute()
' output variable value to SSIS variable
Me.Variables.MyOutVariable = MyVar
End Sub
Public Overrides Sub Input0_ProcessInputRow(ByVal Row As Input0Buffer)
' logic to get value
MyVar = Row.MyNumber
End Sub
End Class