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

SSIS set resultaatset van gegevensstroom naar variabele

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



  1. Hoe de datatypes van de resultaten van een SQL bepalen?

  2. Een veld instellen als Niet NULL in phpmyadmin

  3. Max uitvoeringstijd fout

  4. Webgebaseerde MySQL-interface beter dan phpMyAdmin