Za pomocą składnika skryptu przepływu danych można przesłać wartość kolumny przepływu danych do zmiennej SSIS. Jednak podczas pracy z komponentem Data Flow Script i zmiennymi SSIS należy przestrzegać pewnych zasad.
SSIS nie pozwala na przypisywanie wartości do zmiennych SSIS w procedurze skryptu, która przetwarza wiersze. Ale istnieją procedury przed i po wykonaniu, w których możesz obsłużyć zadanie.
W składniku skryptu dodaj zmienną SSIS do właściwości ReadWriteVariables. Edytuj skrypt i zadeklaruj zmienną w klasie ScriptMain. Użyj procedury PreExecute, aby zainicjować zmienną. Użyj procedury ProcessInputRow, aby przypisać wartość kolumny buforu wejściowego do zmiennej skryptu. I użyj zadania PostExecute, aby przypisać wartość ze zmiennej skryptu do zmiennej SSIS.
Oto przykładowy komponent skryptu VB. Ma zmienną SSIS (MyOutVariable), która otrzyma dane wyjściowe zmiennej skryptu (MyVar). Zmienna MyVar pobiera swoją wartość z kolumny MyNumber w przepływie danych.
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