Udostępnij za pośrednictwem


Metoda ScriptComponent.PostExecute

Wykonuje kod niestandardowy, który należy uruchomić po składnik skryptów przetworzył swoich wejść i wyjść.

Przestrzeń nazw:  Microsoft.SqlServer.Dts.Pipeline
Zestaw:  Microsoft.SqlServer.TxScript (w Microsoft.SqlServer.TxScript.dll)

Składnia

'Deklaracja
Public Overridable Sub PostExecute
'Użycie
Dim instance As ScriptComponent

instance.PostExecute()
public virtual void PostExecute()
public:
virtual void PostExecute()
abstract PostExecute : unit -> unit 
override PostExecute : unit -> unit 
public function PostExecute()

Uwagi

Deweloper składnika skryptów nie korzysta z ScriptComponent klasy bezpośrednio, ale pośrednio przez kodowanie metod i właściwości ScriptMain klasy, która dziedziczy z ScriptComponent przez UserComponent klasy.

Deweloper może zastąpić PostExecute metoda oczyszczania lub wszelkie jedno -czas zadań niezbędnych po przetworzeniu wierszy danych.

Przykłady

Poniższy przykładowy kod ilustruje, jak użyć deweloper składnika skryptów PreExecute i PostExecute metod do otwierania i zamykania połączeń pliku tekst przed i po przetworzeniu.Więcej informacji na temat tej próbki, zobacz Tworzenie miejsca docelowego przy użyciu składnik skryptów.

Imports System.IO
...
Public Class ScriptMain
    Inherits UserComponent

    Dim copiedAddressFile As String
    Private textWriter As StreamWriter
    Private columnDelimiter As String = ","

    Public Overrides Sub AcquireConnections(ByVal Transaction As Object)

        Dim connMgr As IDTSConnectionManager100 = _
            Me.Connections.MyFlatFileDestConnectionManager
        copiedAddressFile = CType(connMgr.AcquireConnection(Nothing), String)

    End Sub

    Public Overrides Sub PreExecute()

        textWriter = New StreamWriter(copiedAddressFile, False)

    End Sub

    Public Overrides Sub MyAddressInput_ProcessInputRow(ByVal Row As MyAddressInputBuffer)

        With textWriter
            If Not Row.AddressID_IsNull Then
                .Write(Row.AddressID)
            End If
            .Write(columnDelimiter)
            If Not Row.City_IsNull Then
                .Write(Row.City)
            End If
            .WriteLine()
        End With

    End Sub

    Public Overrides Sub PostExecute()

        textWriter.Close()

    End Sub

End Class