次の方法で共有


DMQueryTask.Execute Method

タスクを実行します。

名前空間: Microsoft.SqlServer.Dts.Tasks.DMQueryTask
アセンブリ: Microsoft.SqlServer.DMQueryTask (microsoft.sqlserver.dmquerytask.dll 内)

構文

'宣言
Public Overrides Function Execute ( _
    connections As Connections, _
    variables As VariableDispenser, _
    events As IDTSComponentEvents, _
    log As IDTSLogging, _
    txn As Object _
) As DTSExecResult
public override DTSExecResult Execute (
    Connections connections,
    VariableDispenser variables,
    IDTSComponentEvents events,
    IDTSLogging log,
    Object txn
)
public:
virtual DTSExecResult Execute (
    Connections^ connections, 
    VariableDispenser^ variables, 
    IDTSComponentEvents^ events, 
    IDTSLogging^ log, 
    Object^ txn
) override
public DTSExecResult Execute (
    Connections connections, 
    VariableDispenser variables, 
    IDTSComponentEvents events, 
    IDTSLogging log, 
    Object txn
)
public override function Execute (
    connections : Connections, 
    variables : VariableDispenser, 
    events : IDTSComponentEvents, 
    log : IDTSLogging, 
    txn : Object
) : DTSExecResult

パラメータ

  • connections
    タスクで使用される接続のコレクションです。
  • variables
    変数をロックするための VariableDispenser オブジェクトです。
  • events
    IDTSComponentEvents インターフェイスを実装するオブジェクトです。
  • log
    IDTSLogging インターフェイスを実装するオブジェクトです。
  • txn
    コンテナが含まれるトランザクション オブジェクトです。この値には null を指定できます。

戻り値

DTSExecResult 列挙の値です。

解説

Execute メソッドは、DtsContainer クラスを通じてタスク ホストおよび Executable 抽象クラスのその他のオブジェクトにより継承され、継承オブジェクトのランタイム エンジンによる実行を許可します。個々のオブジェクトによって継承された Execute メソッドは通常、コードでは使用されません。パッケージでタスクまたはコンテナのいずれかを実行する必要がある場合は、Execute メソッドを呼び出すことをお勧めします。ただし、このメソッドを必要とする特定の状況においては、個々のオブジェクトで Execute メソッドを使用できます。

Execute メソッドは主に、カスタム タスクを作成するときに継承およびオーバーライドするために使用されます。Execute メソッドをオーバーライドする方法の詳細については、「Implementing the Execute Method in Custom Integration Services Tasks」を参照してください。

Execute メソッドは、パッケージの実行前に暗黙的に Validate メソッドを呼び出します。検証中、パッケージ内のすべてのタスクが適切な設定になっているか確認され、パッケージ、コンテナ、およびパッケージ内のその他のコンポーネントを含め、パッケージ内のすべてのオブジェクトが検証されます。

検証フェーズにパッケージが失敗する原因となるような問題が存在しない場合、パッケージ オブジェクトはパッケージ内の各タスクとオブジェクトごとに Execute メソッドを呼び出します。

TransactionOption プロパティが false である場合、transaction パラメータには null を渡します。TransactionOption プロパティが true の場合は、transaction パラメータに null を渡して、コンテナがトランザクションをサポートしているが参加していないことを示すことができます。

使用例

タスクの一部のプロパティを設定した後に BulkInsertTask を含むパッケージを実行するコード例を次に示します。このコード サンプルの例として、一括挿入タスクがあります。どのタスクも適宜作成できます。

using System;
using System.Collections.Generic;
using System.Text;
using Microsoft.SqlServer.Dts.Runtime;
using Microsoft.SqlServer.Dts.Tasks.BulkInsertTask

namespace Microsoft.SqlServer.SSIS.Samples
{
    class Program
    {
        static void Main(string[] args)
        {
            Package p = new Package();
            p.InteractiveMode = true;
            p.OfflineMode = true;
            Executable exec1 = pkg.Executables.Add("STOCK:BulkInsertTask");
            TaskHost th = exec1 as TaskHost;

            // Set the CheckConstraints and DataFileType properties.           
            th.Properties["CheckConstraints"].SetValue(th, true);
            th.Properties["DataFileType"].SetValue(th, DTSBulkInsert_DataFileType.DTSBulkInsert_DataFileType_Native);
           
            // Run the package that contains the task.
            pkg.Execute();

            // Review the results of the run.
            if (taskH.ExecutionResult == DTSExecResult.Failure || taskH.ExecutionStatus == DTSExecStatus.Abend)
                Console.WriteLine("Task failed or abended");
            else
                Console.WriteLine("Task ran successfully");
        }
    }
}
Imports System
Imports System.Collections.Generic
Imports System.Text
Imports Microsoft.SqlServer.Dts.Runtime
Imports Microsoft.SqlServer.Dts.Tasks.BulkInsertTask
 
Namespace Microsoft.SqlServer.SSIS.Samples
    Class Program
        Shared  Sub Main(ByVal args() As String)
            Dim p As Package =  New Package() 
            p.InteractiveMode = True
            p.OfflineMode = True
            Dim exec1 As Executable =  pkg.Executables.Add("STOCK:BulkInsertTask") 
            Dim th As TaskHost =  exec1 as TaskHost 
 
            ' Set the CheckConstraints and DataFileType properties.           
            th.Properties("CheckConstraints").SetValue(th, True)
            th.Properties("DataFileType").SetValue(th, DTSBulkInsert_DataFileType.DTSBulkInsert_DataFileType_Native)
 
            ' Run the package that contains the task.
            pkg.Execute()
 
            ' Review the results of the run.
            If taskH.ExecutionResult = DTSExecResult.Failure Or taskH.ExecutionStatus = DTSExecStatus.Abend Then
                Console.WriteLine("Task failed or abended")
            Else 
                Console.WriteLine("Task ran successfully")
            End If
        End Sub
    End Class
End Namespace

スレッド セーフ

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

プラットフォーム

開発プラットフォーム

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

対象プラットフォーム

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

参照

関連項目

DMQueryTask Class
DMQueryTask Members
Microsoft.SqlServer.Dts.Tasks.DMQueryTask Namespace