次の方法で共有


ScriptTask.Execute メソッド

定義

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、パラメーターをtransactionnullして、コンテナーがトランザクションをサポートしているが参加していないことを示すことができます。

適用対象