FileSystemTask.Execute 方法

定義

執行工作。

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 ^ txn);
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 txn);
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, txn As Object) As DTSExecResult

參數

connections
Connections

工作所使用之連接的集合。

variableDispenser
VariableDispenser

用於鎖定變數的 VariableDispenser 物件。

events
IDTSComponentEvents

實作 IDTSComponentEvents 介面的物件。

log
IDTSLogging

實作 IDTSComponentEvents 介面的物件。

txn
Object

容器所屬的交易物件。 這個值可以是 Null。

傳回

DTSExecResult

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 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 方法的詳細資訊,請參閱撰寫 自訂工作的程式碼。

方法會在 Execute Validate 封裝執行之前隱含地呼叫方法。 在驗證期間,會針對適當的設定檢查封裝中的所有工作,而且會審核套件中的所有物件,包括封裝、容器和套件中的其他元件。

如果在驗證階段中沒有造成封裝失敗的問題,封裝物件就會繼續 Execute 針對封裝中的每個工作和物件呼叫方法。

null transaction 當屬性為時,傳遞給參數 TransactionOption false 。 如果 TransactionOption 屬性為 true,您可以傳入 null transaction 參數以表示容器支援交易,但不會參與。

適用於