Executable.Execute メソッド
定義
重要
一部の情報は、リリース前に大きく変更される可能性があるプレリリースされた製品に関するものです。 Microsoft は、ここに記載されている情報について、明示または黙示を問わず、一切保証しません。
実行ファイルを実行します。
public:
abstract Microsoft::SqlServer::Dts::Runtime::DTSExecResult Execute(Microsoft::SqlServer::Dts::Runtime::Connections ^ connections, Microsoft::SqlServer::Dts::Runtime::Variables ^ variables, Microsoft::SqlServer::Dts::Runtime::IDTSEvents ^ events, Microsoft::SqlServer::Dts::Runtime::IDTSLogging ^ log, System::Object ^ transaction);
public abstract Microsoft.SqlServer.Dts.Runtime.DTSExecResult Execute(Microsoft.SqlServer.Dts.Runtime.Connections connections, Microsoft.SqlServer.Dts.Runtime.Variables variables, Microsoft.SqlServer.Dts.Runtime.IDTSEvents events, Microsoft.SqlServer.Dts.Runtime.IDTSLogging log, object transaction);
abstract member Execute : Microsoft.SqlServer.Dts.Runtime.Connections * Microsoft.SqlServer.Dts.Runtime.Variables * Microsoft.SqlServer.Dts.Runtime.IDTSEvents * Microsoft.SqlServer.Dts.Runtime.IDTSLogging * obj -> Microsoft.SqlServer.Dts.Runtime.DTSExecResult
Public MustOverride Function Execute (connections As Connections, variables As Variables, events As IDTSEvents, log As IDTSLogging, transaction As Object) As DTSExecResult
パラメーター
- connections
- Connections
Connections コレクション。
- events
- IDTSEvents
イベントを起こすための IDTSEvents インターフェース。
- log
- IDTSLogging
IDTSLogging インターフェイスです。
- transaction
- Object
トランザクションに参加する場合、トランザクションタイプのハンドル。 この値は null にすることができます。
返品
実行ファイルの実行が成功、失敗、その他の状態を示す、 DTSExecResult 列挙から値を返します。
例
以下のコード例は、 Executable クラスから DtsContainer クラスを継承するパッケージの実行方法を示しています。 パッケージには BulkInsertTaskが入っています。 このコードサンプルの例として、Bulk Insertタスクがあります。どんなタスクでもその代わりに作成できます。
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
注釈
Executeメソッドは、タスクホストやこのExecutable抽象クラスからDtsContainerクラスを通じて他のオブジェクトに継承され、継承するオブジェクトをランタイムエンジンで実行できるようにします。 個々のオブジェクトに継承される Execute メソッドはコード上であまり使われておらず、パッケージ内のタスクやコンテナを実行する必要がある場合は Execute メソッドを呼び出すことが推奨されます。 ただし、必要に応じて個別の物体に対して Execute 方法が利用可能です。
Executeメソッドの主な用途は、カスタムタスクを作成する際に継承・上書きすることです。 実行メソッドのオーバーライド方法の詳細については、「 カスタムタスクのコーディング」をご覧ください。
Executeメソッドはパッケージを実行する前に暗黙的にValidateメソッドを呼び出します。 パッケージ内のすべてのタスクは検証時に適切な設定が確認され、パッケージ、コンテナ、その他のコンポーネントを含むすべてのオブジェクトもレビューされます。
検証フェーズでパッケージが失敗するような問題がなければ、パッケージオブジェクトはパッケージ内の各タスクとオブジェクトに対して Execute メソッドを呼び出します。
TransactionOptionの性質が false されたときに transaction パラメータに対して null を渡します。
TransactionOptionプロパティが真であれば、transactionパラメータにnullを渡して、コンテナがトランザクションをサポートしているが参加しないことを示します。