ScriptTask.Execute メソッド
定義
重要
一部の情報は、リリース前に大きく変更される可能性があるプレリリースされた製品に関するものです。 Microsoft は、ここに記載されている情報について、明示または黙示を問わず、一切保証しません。
DTS スクリプト タスクのこのインスタンスに格納されているスクリプトを実行します。
public:
override Microsoft::SqlServer::Dts::Runtime::DTSExecResult Execute(Microsoft::SqlServer::Dts::Runtime::Connections ^ connections, Microsoft::SqlServer::Dts::Runtime::VariableDispenser ^ variableDispenser, Microsoft::SqlServer::Dts::Runtime::IDTSComponentEvents ^ events, Microsoft::SqlServer::Dts::Runtime::IDTSLogging ^ log, System::Object ^ transaction);
public override Microsoft.SqlServer.Dts.Runtime.DTSExecResult Execute (Microsoft.SqlServer.Dts.Runtime.Connections connections, Microsoft.SqlServer.Dts.Runtime.VariableDispenser variableDispenser, Microsoft.SqlServer.Dts.Runtime.IDTSComponentEvents events, Microsoft.SqlServer.Dts.Runtime.IDTSLogging log, object transaction);
override this.Execute : Microsoft.SqlServer.Dts.Runtime.Connections * Microsoft.SqlServer.Dts.Runtime.VariableDispenser * Microsoft.SqlServer.Dts.Runtime.IDTSComponentEvents * Microsoft.SqlServer.Dts.Runtime.IDTSLogging * obj -> Microsoft.SqlServer.Dts.Runtime.DTSExecResult
Public Overrides Function Execute (connections As Connections, variableDispenser As VariableDispenser, events As IDTSComponentEvents, log As IDTSLogging, transaction As Object) As DTSExecResult
パラメーター
- connections
- Connections
タスクで使用される接続のコレクションです。
- variableDispenser
- VariableDispenser
変数をロックするための VariableDispenser オブジェクトです。
- events
- IDTSComponentEvents
IDTSComponentEvents インターフェイスを実装するオブジェクト。
- log
- IDTSLogging
IDTSLogging インターフェイスを実装するオブジェクト。
- transaction
- Object
コンテナーが含まれるトランザクション オブジェクトです。 ランタイムは、TransactionOption プロパティに基づいて、コンテナーのトランザクションを提供します。 この値は null の場合もあります。
戻り値
DTSExecResult 列挙体の値。
例
タスクの一部のプロパティを設定した後に 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 execution.
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 execution.
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
メソッドは、パッケージの実行前に暗黙的に Validate
メソッドを呼び出します。 検証中にパッケージ内のすべてのタスクが適切な設定で確認され、パッケージ内のすべてのオブジェクト (パッケージ、コンテナー、およびパッケージ内のその他のコンポーネントを含む) が確認されます。
パッケージが失敗する原因となる検証フェーズで問題が発生しなかった場合、パッケージ オブジェクトはパッケージ内の各タスクとオブジェクトのメソッドを呼び出 Execute
します。
TransactionOption プロパティが null
である場合、transaction
パラメーターには false
を渡します。 プロパティが指定されているTransactionOption場合はtrue
、パラメーターをtransaction
渡null
して、コンテナーがトランザクションをサポートしているが参加していないことを示すことができます。