Aracılığıyla paylaş


ScriptComponent.PreExecute Yöntemi

Komut dosyası bileşeni, girdileri ve çıktıları işlediği önce çalıştırmanız gereken özel kod çalıştırır.

Ad Alanı:  Microsoft.SqlServer.Dts.Pipeline
Derleme:  Microsoft.SqlServer.TxScript (Microsoft.SqlServer.TxScript içinde.dll)

Sözdizimi

'Bildirim
Public Overridable Sub PreExecute
'Kullanım
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()

Açıklamalar

Komut dosyası bileşeni geliştirici kullanmak ScriptComponent doğrudan, ancak dolaylı olarak, yöntemlerini ve özelliklerini kodlayarak sınıf ScriptMain devraldığı sınıfı, ScriptComponent ile UserComponent sınıfı.

Geliştirici kılabilirsiniz PreExecute herhangi biri - gerçekleştirme yöntemsaat veri satırlarını işleme koymadan önce gerekli görevleri

Örnekler

Aşağıdaki kod örneği, komut dosyası bileşeni geliştirici nasıl kullanabileceğinizi göstermektedir PreExecute ve PostExecute yöntemleri için açmak ve kapatmak bir metin dosyası bağlantı öncesi ve sonrasında işleme.Bu örnek hakkında daha fazla bilgi için bkz: Bir hedef Script bileşeni ile oluşturma.

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