共用方式為


DMQueryTask.Execute 方法

Runs the task.

命名空間:  Microsoft.SqlServer.Dts.Tasks.DMQueryTask
組件:  Microsoft.SqlServer.DMQueryTask (在 Microsoft.SqlServer.DMQueryTask.dll 中)

語法

'宣告
Public Overrides Function Execute ( _
    connections As Connections, _
    variables As VariableDispenser, _
    events As IDTSComponentEvents, _
    log As IDTSLogging, _
    txn As Object _
) As DTSExecResult
'用途
Dim instance As DMQueryTask 
Dim connections As Connections 
Dim variables As VariableDispenser 
Dim events As IDTSComponentEvents 
Dim log As IDTSLogging 
Dim txn As Object 
Dim returnValue As DTSExecResult 

returnValue = instance.Execute(connections, _
    variables, events, log, txn)
public override DTSExecResult Execute(
    Connections connections,
    VariableDispenser variables,
    IDTSComponentEvents events,
    IDTSLogging log,
    Object txn
)
public:
virtual DTSExecResult Execute(
    Connections^ connections, 
    VariableDispenser^ variables, 
    IDTSComponentEvents^ events, 
    IDTSLogging^ log, 
    Object^ txn
) override
abstract Execute : 
        connections:Connections * 
        variables:VariableDispenser * 
        events:IDTSComponentEvents * 
        log:IDTSLogging * 
        txn:Object -> DTSExecResult  
override Execute : 
        connections:Connections * 
        variables:VariableDispenser * 
        events:IDTSComponentEvents * 
        log:IDTSLogging * 
        txn:Object -> DTSExecResult
public override function Execute(
    connections : Connections, 
    variables : VariableDispenser, 
    events : IDTSComponentEvents, 
    log : IDTSLogging, 
    txn : Object
) : DTSExecResult

參數

  • txn
    型別:System.Object
    The transaction object that the container is a part of. This value can be nullnull 參考 (在 Visual Basic 中為 Nothing).

傳回值

型別:Microsoft.SqlServer.Dts.Runtime.DTSExecResult
A value from the DTSExecResult enumeration.

備註

The Execute method is inherited by task hosts and other objects from the Executable abstract class, through the DtsContainer class, and allows the inheriting objects to be run by the runtime engine. The Execute method inherited by the individual objects is not commonly used in code, and it is recommended that you call the Execute method if you need to run any of the tasks or containers in the package. However, the Execute method is available on individual objects should you find a unique circumstance where it is needed.

The main use of the Execute method is for it to be inherited and overridden when you create a custom task. For more information about how to override the Execute method, see 撰寫自訂工作的程式碼.

The Execute method calls the Validate method implicitly before the package runs. All tasks in the package are reviewed for appropriate settings during validation, and all objects in the package are reviewed, including the package, containers, and other components in the package.

If there are no problems encountered in the validation phase that would cause the package to fail, the package object proceeds to call the Execute method for each task and object in the package.

Pass nullnull 參考 (在 Visual Basic 中為 Nothing) for the transaction parameter when the TransactionOption property is false. If the TransactionOption property is true, you can pass nullnull 參考 (在 Visual Basic 中為 Nothing) in the transaction parameter to indicate that the container supports transactions but does not participate.

範例

The following code example shows how to run a package containing a BulkInsertTask after some of the task properties are set. The Bulk Insert task is an example for this code sample; any task can be created in its place.

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

請參閱

參考

DMQueryTask 類別

Microsoft.SqlServer.Dts.Tasks.DMQueryTask 命名空間