ExecuteSQLTask.Execute Méthode

Définition

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.

S’applique à