Compartilhar via


Package.Execute Método

Definição

Retorna uma enumeração DTSExecResult que contém informações sobre o sucesso ou a falha da execução do pacote.

public:
 Microsoft::SqlServer::Dts::Runtime::DTSExecResult Execute();
public Microsoft.SqlServer.Dts.Runtime.DTSExecResult Execute ();
override this.Execute : unit -> Microsoft.SqlServer.Dts.Runtime.DTSExecResult
Public Function Execute () As DTSExecResult

Retornos

DTSExecResult

Uma enumeração DTSExecResult que contém informações sobre o sucesso ou a falha da execução do pacote.

Exemplos

O exemplo de código a seguir cria um pacote, define as propriedades e InteractiveMode as OfflineMode propriedades antes de adicionar uma tarefa de script. Em seguida, ele executa o pacote usando o Execute método.

using System;  
using System.Collections.Generic;  
using System.Text;  
using Microsoft.SqlServer.Dts.Runtime;  
using Microsoft.SqlServer.Dts.Tasks.ScriptTask;  

namespace Package_API  
{  
    class Program  
    {  
        static void Main(string[] args)  
        {  
            Package p = new Package();  
            p.InteractiveMode = true;  
            p.OfflineMode = true;  

            // Add a Script Task to the package.  
            TaskHost taskH = (TaskHost)p.Executables.Add(typeof(Microsoft.SqlServer.Dts.Tasks.ScriptTask.ScriptTask).AssemblyQualifiedName);  
            // Run the package.  
            p.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.ScriptTask  

Namespace Package_API  
    Class Program  
        Shared  Sub Main(ByVal args() As String)  
            Dim p As Package =  New Package()   
            p.InteractiveMode = True  
            p.OfflineMode = True  

            ' Add a Script Task to the package.  
            Dim taskH As TaskHost = CType(p.Executables.Add(Type.GetType(Microsoft.SqlServer.Dts.Tasks.ScriptTask.ScriptTask).AssemblyQualifiedName), TaskHost)  
            ' Run the package.  
            p.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  

Comentários

O Execute método é herdado por hosts de tarefa e outros objetos da Executable classe abstrata, por meio da DtsContainer classe, e permite que os objetos herdados sejam executados pelo mecanismo de runtime. O Execute método herdado pelos objetos individuais não é comumente usado no código e é recomendável que você chame o Execute método se precisar executar qualquer uma das tarefas ou contêineres no pacote. No entanto, o Execute método está disponível em objetos individuais caso você encontre uma circunstância exclusiva em que ele é necessário.

O principal uso do Execute método é que ele seja herdado e substituído quando você cria uma tarefa personalizada. Para obter mais informações sobre como substituir o método Execute, consulte Codificando uma tarefa personalizada.

O Execute método chama o Validate método implicitamente antes da execução do pacote. Todas as tarefas no pacote são revisadas para as configurações apropriadas durante a validação e todos os objetos no pacote são revisados, incluindo o pacote, contêineres e outros componentes no pacote.

Se não houver nenhum problema encontrado na fase de validação que faça com que o pacote falhe, o objeto de pacote continuará a chamar o Execute método para cada tarefa e objeto no pacote.

Passe null para o transaction parâmetro quando a TransactionOption propriedade for false. Se a TransactionOption propriedade for verdadeira, você poderá passar null o transaction parâmetro para indicar que o contêiner dá suporte a transações, mas não participa.

Aplica-se a