MessageQueueTask.Execute Método
Definição
Importante
Algumas informações se referem a produtos de pré-lançamento que podem ser substancialmente modificados antes do lançamento. A Microsoft não oferece garantias, expressas ou implícitas, das informações aqui fornecidas.
Executa a tarefa.
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
Parâmetros
- connections
- Connections
Uma coleção de conexões usada pela tarefa.
- variableDispenser
- VariableDispenser
Um objeto VariableDispenser para variáveis de bloqueio.
- events
- IDTSComponentEvents
Um objeto que implementa a interface IDTSComponentEvents.
- log
- IDTSLogging
Um objeto que implementa a interface IDTSLogging.
- transaction
- Object
O objeto de transação do qual o contêiner faz parte. O runtime fornece a transação para o contêiner, com base na propriedade TransactionOption. Esse valor pode ser nulo.
Retornos
Um valor da enumeração DTSExecResult.
Exemplos
O exemplo de código a seguir mostra como executar um pacote que contém um BulkInsertTask após algumas das propriedades da tarefa serem definidas. A tarefa Inserir em Massa é um exemplo para este exemplo de código; qualquer tarefa pode ser criada em seu lugar.
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
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 é ser 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.