Du kan bruge en Data Flow Script-komponent til at overføre en dataflowkolonneværdi til en SSIS-variabel. Du skal dog følge visse regler, når du arbejder med Data Flow Script-komponenten og SSIS-variabler.
SSIS tillader dig ikke at tildele værdier til SSIS-variabler i scriptproceduren, der behandler rækker. Men der er før- og efterudførelsesprocedurer, hvor du kan håndtere opgaven.
I din Script-komponent skal du tilføje SSIS-variablen til egenskaben ReadWriteVariables. Rediger scriptet og erklær en variabel i ScriptMain-klassen. Brug PreExecute-proceduren til at initialisere variablen. Brug ProcessInputRow-proceduren til at tildele input-buffer-kolonneværdien til scriptvariablen. Og brug PostExecute-opgaven til at tildele værdien fra scriptvariablen til SSIS-variablen.
Her er et eksempel på VB script komponent. Den har en SSIS-variabel (MyOutVariable), der vil få output fra scriptvariablen (MyVar). MyVar-variablen får sin værdi fra MyNumber-kolonnen i dataflowet.
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