Task.Execute 方法
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
运行该任务。
public:
virtual Microsoft::SqlServer::Dts::Runtime::DTSExecResult Execute(Microsoft::SqlServer::Dts::Runtime::Connections ^ connections, Microsoft::SqlServer::Dts::Runtime::VariableDispenser ^ variableDispenser, Microsoft::SqlServer::Dts::Runtime::IDTSComponentEvents ^ componentEvents, Microsoft::SqlServer::Dts::Runtime::IDTSLogging ^ log, System::Object ^ transaction);
public virtual Microsoft.SqlServer.Dts.Runtime.DTSExecResult Execute (Microsoft.SqlServer.Dts.Runtime.Connections connections, Microsoft.SqlServer.Dts.Runtime.VariableDispenser variableDispenser, Microsoft.SqlServer.Dts.Runtime.IDTSComponentEvents componentEvents, Microsoft.SqlServer.Dts.Runtime.IDTSLogging log, object transaction);
abstract member 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
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 Overridable Function Execute (connections As Connections, variableDispenser As VariableDispenser, componentEvents As IDTSComponentEvents, log As IDTSLogging, transaction As Object) As DTSExecResult
参数
- connections
- Connections
任务使用的连接的集合。
- variableDispenser
- VariableDispenser
一个用来锁定变量的 VariableDispenser 对象。
- componentEvents
- IDTSComponentEvents
一个实现 IDTSComponentEvents 接口的对象。
- log
- IDTSLogging
一个实现 IDTSLogging 接口的对象。
- transaction
- Object
容器所属的事务对象。 此值可为 NULL。
返回
DTSExecResult 枚举中的一个值。
示例
下面的代码示例演示如何运行包含继承者的TaskBulkInsertTask包。 大容量插入任务是此代码示例的示例;任何任务都可以在其位置创建。
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当属性为 false. 时TransactionOption传递transaction参数。
TransactionOption如果属性为 true,则可以传入nulltransaction参数以指示容器支持事务,但不参与。