U kunt een Data Flow Script-component gebruiken om een gegevensstroomkolomwaarde over te dragen naar een SSIS-variabele. U moet echter bepaalde regels volgen bij het werken met de Data Flow Script-component en SSIS-variabelen.
Met SSIS kunt u geen waarden toewijzen aan SSIS-variabelen in de scriptprocedure die rijen verwerkt. Maar er zijn pre- en post-execute procedures waarmee u de opdracht aan kunt.
Voeg in uw scriptcomponent de SSIS-variabele toe aan de eigenschap ReadWriteVariables. Bewerk het script en declareer een variabele in de klasse ScriptMain. Gebruik de PreExecute-procedure om de variabele te initialiseren. Gebruik de ProcessInputRow-procedure om de kolomwaarde input -buffer toe te wijzen aan de scriptvariabele. En gebruik de PostExecute-taak om de waarde van de scriptvariabele toe te wijzen aan de SSIS-variabele.
Hier is een voorbeeld van een VB-scriptcomponent. Het heeft een SSIS-variabele (MyOutVariable) die de uitvoer van de scriptvariabele (MyVar) krijgt. De MyVar-variabele haalt zijn waarde uit de MyNumber-kolom in de gegevensstroom.
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