SSMS
 sql >> Database >  >> Database Tools >> SSMS

Set di risultati del set SSIS dal flusso di dati alla variabile

È 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