SSMS
 sql >> Base de données >  >> Database Tools >> SSMS

Ensemble de résultats SSIS du flux de données à la variable

Vous pouvez utiliser un composant Data Flow Script pour transférer une valeur de colonne de flux de données vers une variable SSIS. Cependant, vous devez suivre certaines règles lorsque vous travaillez avec le composant Data Flow Script et les variables SSIS.

SSIS ne vous permet pas d'attribuer des valeurs aux variables SSIS dans la procédure de script qui traite les lignes. Mais il existe des procédures de pré-exécution et de post-exécution où vous pouvez gérer la mission.

Dans votre composant Script, ajoutez la variable SSIS à la propriété ReadWriteVariables. Modifiez le script et déclarez une variable dans la classe ScriptMain. Utilisez la procédure PreExecute pour initialiser la variable. Utilisez la procédure ProcessInputRow pour affecter la valeur de la colonne input -buffer à la variable de script. Et utilisez la tâche PostExecute pour attribuer la valeur de la variable de script à la variable SSIS.

Voici un exemple de composant de script VB. Il a une variable SSIS (MyOutVariable) qui obtiendra la sortie de la variable de script (MyVar). La variable MyVar obtient sa valeur à partir de la colonne MyNumber dans le flux de données.

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