ExecuteSQLTask.Execute Méthode
Définition
Important
Certaines informations portent sur la préversion du produit qui est susceptible d’être en grande partie modifiée avant sa publication. Microsoft exclut toute garantie, expresse ou implicite, concernant les informations fournies ici.
Il exécute la tâche.
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
Paramètres
- connections
- Connections
Une Connections collection pour la tâche.
- variableDispenser
- VariableDispenser
Une Variables collection pour la tâche.
- events
- IDTSComponentEvents
Une IDTSComponentEvents interface pour lancer des événements.
- log
- IDTSLogging
Interface IDTSLogging.
- transaction
- Object
L’objet de transaction auquel la tâche fait partie. Cette valeur peut être null.
Retours
Valeur de l’énumération DTSExecResult .
Exemples
L’exemple de code suivant montre comment exécuter un package contenant une BulkInsertTask après que certaines propriétés de tâche soient définies. La tâche Insertion en masse est un exemple pour cet exemple de code ; n’importe quelle tâche peut être créée à sa 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 package execution.
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 package execution.
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
Remarques
La Execute méthode est héritée par les hôtes de tâches et autres objets de la Executable classe abstraite, via la DtsContainer classe, et permet aux objets héritiers d’être exécutés par le moteur d’exécution. La Execute méthode héritée par les objets individuels n’est pas couramment utilisée en code, et il est recommandé d’appeler la Execute méthode si vous devez exécuter l’une des tâches ou conteneurs du paquet. Cependant, la Execute méthode est disponible pour des objets individuels si vous trouvez une situation particulière où elle est nécessaire.
L’usage principal de la Execute méthode est qu’elle soit héritée et remplacée lors de la création d’une tâche personnalisée. Pour plus d’informations sur la manière de contourner la méthode Exécution, voir Codage d’une tâche personnalisée.
La Execute méthode appelle la Validate méthode implicitement avant que le package ne s’exécute. Toutes les tâches du package sont examinées pour les réglages appropriés lors de la validation, et tous les objets du package sont examinés, y compris le package, les conteneurs et les autres composants du package.
S’il n’y a aucun problème rencontré lors de la phase de validation qui provoquerait l’échec du paquet, l’objet paquet appelle la Execute méthode pour chaque tâche et objet du paquet.
On passe pour le null paramètre lorsque la transaction propriété est TransactionOption.false Si la TransactionOption propriété est vraie, vous pouvez passer null le transaction paramètre indiquant que le conteneur prend en charge les transactions mais ne participe pas.