DMQueryTask.Execute 方法  
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
运行该任务。
public:
 override Microsoft::SqlServer::Dts::Runtime::DTSExecResult Execute(Microsoft::SqlServer::Dts::Runtime::Connections ^ connections, Microsoft::SqlServer::Dts::Runtime::VariableDispenser ^ variables, 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 variables, 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, variables As VariableDispenser, events As IDTSComponentEvents, log As IDTSLogging, txn As Object) As DTSExecResult
	参数
- connections
 - Connections
 
任务使用的连接的集合。
- variables
 - VariableDispenser
 
一个用来锁定变量的 VariableDispenser 对象。
- events
 - IDTSComponentEvents
 
一个实现 IDTSComponentEvents 接口的对象。
- log
 - IDTSLogging
 
一个实现 IDTSLogging 接口的对象。
- txn
 - 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  
	注解
该方法 Execute 由任务主机和其他对象从 Executable 抽象类继承,通过 DtsContainer 该类,并允许运行时引擎运行继承对象。 
              Execute单个对象继承的方法在代码中不常用,并且建议在包中运行任何任务或容器时调用Execute该方法。 但是, Execute 如果发现需要该方法的唯一情况,该方法就可用于各个对象。
该方法的主要 Execute 用途是在创建自定义任务时继承和重写该方法。 有关如何重写 Execute 方法的详细信息,请参阅 对自定义任务进行编码。
该方法 Execute 在包运行时隐式调用 Validate 该方法。 包中的所有任务都会在验证期间查看相应的设置,并查看包中的所有对象,包括包中的包、容器和其他组件。
如果在验证阶段遇到导致包失败的问题,包对象将继续调用 Execute 包中的每个任务和对象的方法。
              null属性transaction为 false..TransactionOption 
              TransactionOption如果属性为 true,则可以传入nulltransaction参数来指示容器支持事务,但不参与。