È possibile utilizzare un componente Script del flusso di dati per trasferire il valore di una colonna del flusso di dati in una variabile SSIS. Tuttavia, è necessario seguire determinate regole quando si lavora con il componente Script flusso di dati e le variabili SSIS.
SSIS non consente di assegnare valori alle variabili SSIS nella procedura di script che elabora le righe. Ma ci sono procedure pre e post esecuzione in cui puoi gestire l'incarico.
Nel componente Script, aggiungi la variabile SSIS alla proprietà ReadWriteVariables. Modifica lo script e dichiara una variabile nella classe ScriptMain. Utilizzare la procedura PreExecute per inizializzare la variabile. Utilizzare la procedura ProcessInputRow per assegnare il valore della colonna di input -buffer alla variabile di script. Inoltre, utilizza l'attività PostExecute per assegnare il valore dalla variabile di script alla variabile SSIS.
Ecco un esempio di componente di script VB. Ha una variabile SSIS (MyOutVariable) che otterrà l'output della variabile di script (MyVar). La variabile MyVar ottiene il suo valore dalla colonna MyNumber nel flusso di dati.
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