Metoda ScriptComponent.PreExecute
Wykonuje kod niestandardowy, który należy uruchomić przed 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 PreExecute
'Użycie
Dim instance As ScriptComponent
instance.PreExecute()
public virtual void PreExecute()
public:
virtual void PreExecute()
abstract PreExecute : unit -> unit
override PreExecute : unit -> unit
public function PreExecute()
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ć PreExecute metoda do wykonywania wszelkich jedno -czas zadań niezbędnych przed przetworzeniem 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