次の方法で共有


ScriptComponent.PreExecute Method

スクリプト コンポーネントが入力および出力を処理する前に実行する必要があるカスタム コードを実行します。

名前空間: Microsoft.SqlServer.Dts.Pipeline
アセンブリ: Microsoft.SqlServer.TxScript (microsoft.sqlserver.txscript.dll 内)

構文

'宣言
Public Overridable Sub PreExecute
public virtual void PreExecute ()
public:
virtual void PreExecute ()
public void PreExecute ()
public function PreExecute ()

解説

スクリプト コンポーネント開発者は、直接的には ScriptComponent クラスを使用しませんが、UserComponent クラスを介して ScriptComponent から継承する ScriptMain クラスのメソッドおよびプロパティをコーディングすることにより、間接的に使用します。

開発者は PreExecute メソッドをオーバーライドし、データの行を処理する前に必要な 1 回限りのタスクを実行します。

使用例

次のコード サンプルは、スクリプト コンポーネント開発者が、PreExecute メソッド、および PostExecute メソッドを使用して、処理の前後にテキスト ファイルの接続を開いたり閉じたりする方法を示します。このサンプルの詳細については、「スクリプト コンポーネントによる変換先の作成」を参照してください。

[Visual Basic]
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 IDTSConnectionManager90 = _
            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

スレッド セーフ

この型の public static (Microsoft Visual Basic では共有 ) メンバは、スレッド セーフです。インスタンス メンバの場合は、スレッド セーフであるとは限りません。

プラットフォーム

開発プラットフォーム

サポートされているプラットフォームの一覧については、「SQL Server 2005 のインストールに必要なハードウェアおよびソフトウェア」を参照してください。

対象プラットフォーム

サポートされているプラットフォームの一覧については、「SQL Server 2005 のインストールに必要なハードウェアおよびソフトウェア」を参照してください。

参照

関連項目

ScriptComponent Class
ScriptComponent Members
Microsoft.SqlServer.Dts.Pipeline Namespace