XMLTask.Execute 方法
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
執行工作。
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
工作的 Connections 集合。
- variableDispenser
- VariableDispenser
用於鎖定變數的 VariableDispenser 物件。
- events
- IDTSComponentEvents
引發事件的 IDTSComponentEvents 介面。
- log
- IDTSLogging
IDTSLogging 介面。
- transaction
- Object
工作所屬的交易物件。 這個值可以是 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 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
備註
不論值為何,都可以使用這個方法 XMLTask OperationType 。
Execute方法會由工作主機和抽象類別中的其他物件繼承 Executable ,透過類別, DtsContainer 並允許執行時間引擎執行繼承物件。 Execute個別物件所繼承的方法通常不會用在程式碼中, Execute 如果您需要在封裝中執行任何工作或容器,建議您呼叫方法。 但是,如果 Execute 您在需要的情況下找出獨特的情況,就可以在個別物件上使用方法。
方法的主要用途 Execute 是在您建立自訂工作時,將它繼承和覆寫。 如需如何覆寫 Execute 方法的詳細資訊,請參閱撰寫 自訂工作的程式碼。
方法會在 Execute Validate 封裝執行之前隱含地呼叫方法。 在驗證期間,會針對適當的設定檢查封裝中的所有工作,而且會審核套件中的所有物件,包括封裝、容器和套件中的其他元件。
如果在驗證階段中沒有造成封裝失敗的問題,封裝物件就會繼續 Execute 針對封裝中的每個工作和物件呼叫方法。
null transaction 當屬性為時,傳遞給參數 TransactionOption false 。 如果 TransactionOption 屬性為 true,您可以傳入 null transaction 參數以表示容器支援交易,但不會參與。