Execute méthode
Runs the task.
Espace de noms : Microsoft.SqlServer.Dts.Tasks.Exec80PackageTask
Assembly : Microsoft.SqlServer.Exec80PackageTask (dans Microsoft.SqlServer.Exec80PackageTask.dll)
Syntaxe
'Déclaration
Public Overrides Function Execute ( _
connections As Connections, _
variableDispenser As VariableDispenser, _
events As IDTSComponentEvents, _
log As IDTSLogging, _
txn As Object _
) As DTSExecResult
'Utilisation
Dim instance As Exec80PackageTask
Dim connections As Connections
Dim variableDispenser As VariableDispenser
Dim events As IDTSComponentEvents
Dim log As IDTSLogging
Dim txn As Object
Dim returnValue As DTSExecResult
returnValue = instance.Execute(connections, _
variableDispenser, events, log, txn)
public override DTSExecResult Execute(
Connections connections,
VariableDispenser variableDispenser,
IDTSComponentEvents events,
IDTSLogging log,
Object txn
)
public:
virtual DTSExecResult Execute(
Connections^ connections,
VariableDispenser^ variableDispenser,
IDTSComponentEvents^ events,
IDTSLogging^ log,
Object^ txn
) override
abstract Execute :
connections:Connections *
variableDispenser:VariableDispenser *
events:IDTSComponentEvents *
log:IDTSLogging *
txn:Object -> DTSExecResult
override Execute :
connections:Connections *
variableDispenser:VariableDispenser *
events:IDTSComponentEvents *
log:IDTSLogging *
txn:Object -> DTSExecResult
public override function Execute(
connections : Connections,
variableDispenser : VariableDispenser,
events : IDTSComponentEvents,
log : IDTSLogging,
txn : Object
) : DTSExecResult
Paramètres
- connections
Type : Microsoft.SqlServer.Dts.Runtime. . :: . .Connections
A Connections collection for the task.
- variableDispenser
Type : Microsoft.SqlServer.Dts.Runtime. . :: . .VariableDispenser
A Variables collection for the task.
- events
Type : Microsoft.SqlServer.Dts.Runtime. . :: . .IDTSComponentEvents
A reference to an object that implements the IDTSComponentEvents interface to raise events.
- log
Type : Microsoft.SqlServer.Dts.Runtime. . :: . .IDTSLogging
A reference to an object that implements IDTSLogging.
- txn
Type : System. . :: . .Object
The transaction object that the task is part of, depending on the value found in the TransactionOption property. This value can be set to a null reference (Nothing in Visual Basic).
Valeur de retour
Type : Microsoft.SqlServer.Dts.Runtime. . :: . .DTSExecResult
A DTSExecResult indicating the outcome of the execution.
Notes
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 Codage d'une tâche personnalisée.
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 null Nothing nullptr unit une référence Null (Nothing dans Visual Basic) for the transaction parameter when the TransactionOption property is false. If the TransactionOption property is true, you can pass null in the transaction parameter to indicate that the container supports transactions but does not participate.
Exemples
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.Exec80PackageTask;
namespace Microsoft.SqlServer.SSIS.Samples
{
class Program
{
static void Main(string[] args)
{
// Note that this code shows how to set properties,
// and that the testFile is pointing to a sample that has
// not been stored to the StorageFile location.
String testFile = @"C:\Program Files\Microsoft SQL Server\100\Samples\Integration Services\Package Samples\CalculatedColumns Sample\CalculatedColumns\CalculatedColumns.dtsx";
String testPackageName = "DTSPackage1";
String packageID = "{AAD06953-9847-4ED4-A3B5-FA6092C56E20}";
String packageVersionGUID = "{3A312EFC-7477-4F3E-8633-E1DDA5C6CB9A}";
Package p = new Package();
Executable exec = p.Executables.Add("STOCK:Exec80PackageTask");
TaskHost th = exec as TaskHost;
// You can cast to the Exec80PackageTask here.
// Exec80PackageTask execPT = th.InnerObject as Exec80PackageTask;
// Set some properties on the Exec80PackageTask.
th.Properties["Location"].SetValue(th, Exec80PackageTask.Locations.StorageFile);
th.Properties["Filename"].SetValue(th, testFile);
th.Properties["PackageName"].SetValue(th, testPackageName);
th.Properties["PackageID"].SetValue(th, packageID);
th.Properties["PackageVersionGUID"].SetValue(th, packageVersionGUID);
// Run the package and the task.
DTSExecResult status = p.Execute();
// Review the result.
if (status == DTSExecResult.Success)
Console.WriteLine("ran successfully");
else
Console.WriteLine("Task failed");
}
}
}
Imports System
Imports System.Collections.Generic
Imports System.Text
Imports Microsoft.SqlServer.Dts.Runtime
Imports Microsoft.SqlServer.Dts.Tasks.Exec80PackageTask
Namespace Microsoft.SqlServer.SSIS.Samples
Class Program
Shared Sub Main(ByVal args() As String)
' Note that this code shows how to set properties,
' and that the testFile is pointing to a sample that has
' not been stored to the StorageFile location.
Dim testFile As String = "C:\Program Files\Microsoft SQL Server\100\Samples\Integration Services\Package Samples\CalculatedColumns Sample\CalculatedColumns\CalculatedColumns.dtsx"
Dim testPackageName As String = "DTSPackage1"
Dim packageID As String = "{AAD06953-9847-4ED4-A3B5-FA6092C56E20}"
Dim packageVersionGUID As String = "{3A312EFC-7477-4F3E-8633-E1DDA5C6CB9A}"
Dim p As Package = New Package()
Dim exec As Executable = p.Executables.Add("STOCK:Exec80PackageTask")
Dim th As TaskHost = exec as TaskHost
' You can cast to the Exec80PackageTask here.
' Dim execPT As Exec80PackageTask = th.InnerObject as Exec80PackageTask
' Set some properties on the Exec80PackageTask.
th.Properties("Location").SetValue(th, Exec80PackageTask.Locations.StorageFile)
th.Properties("Filename").SetValue(th, testFile)
th.Properties("PackageName").SetValue(th, testPackageName)
th.Properties("PackageID").SetValue(th, packageID)
th.Properties("PackageVersionGUID").SetValue(th, packageVersionGUID)
' Run the package and the task.
Dim status As DTSExecResult = p.Execute()
' Review the result.
If status = DTSExecResult.Success Then
Console.WriteLine("ran successfully")
Else
Console.WriteLine("Task failed")
End If
End Sub
End Class
End Namespace