Tarefa Executar Processo

A tarefa Executar Processo executa um aplicativo ou arquivo de lote como parte de um fluxo de trabalho do pacote SQL Server Integration Services. Embora você possa usar a tarefa Executar Processo para abrir qualquer aplicativo padrão, como Microsoft Excel ou Microsoft Word, você geralmente o utiliza para executar aplicativos de negócios ou arquivos de lote que trabalham em uma fonte de dados. Por exemplo, você pode usar a tarefa Executar Processo para expandir um arquivo de texto compactado. Depois, o pacote pode usar o arquivo de texto como uma fonte de dados para o fluxo de dados no pacote. Como outro exemplo, você pode usar a tarefa Executar Processo para executar um aplicativo Visual Basic personalizado que gera um relatório de vendas diário. Então, você pode anexar o relatório a uma tarefa Enviar Email e encaminhar o relatório para uma lista de distribuição.

Quando a tarefa Executar Processo executa um aplicativo personalizado, a tarefa fornece entrada para o aplicativo por meio de um ou de ambos estes métodos:

  • Uma variável que você especifica na configuração da propriedade StandardInputVariable. Para obter mais informações sobre variáveis, consulte Variáveis do Integration Services e Usando variáveis em pacotes.

  • Um argumento que você especifica na configuração de propriedade Arguments. Por exemplo, se a tarefa abrir um documento no Word, o argumento poderá nomear o arquivo .doc.

Para passar vários argumentos a um aplicativo personalizado em uma tarefa Executar Processo, use espaços para delimitar os argumentos. Um argumento não pode incluir um espaço; caso contrário, a tarefa não será executada. Você pode usar uma expressão para passar um valor variável como argumento. No exemplo a seguir, a expressão passa dois valores variáveis como argumentos e usa um espaço para delimitar os argumentos:

@variable1 + " " + @variable2

Você pode usar uma expressão para definir várias propriedades da tarefa Executar Processo.

Quando você usar a propriedade StandardInputVariable para configurar a tarefa Executar Processo para fornecer entrada, chame o método Console.ReadLine do aplicativo para ler a entrada. Para obter mais informações, consulte o tópico Console.ReadLine na Biblioteca de Classes do Microsoft .NET Framework.

Quando você usar a propriedade Arguments para configurar a tarefa Executar Processo para fornecer entrada, execute uma destas etapas para obter os argumentos:

  • Se você usar Microsoft Visual Basic 2005 para escrever o aplicativo, defina a propriedade My.Application.CommandLineArgs. O exemplo a seguir define a propriedade My.Application.CommandLineArgs para recuperar dois argumentos:

    Dim variable1 As String = My.Application.CommandLineArgs.Item(0)
    Dim variable2 As String = My.Application.CommandLineArgs.Item(1) 
    

    Para obter mais informações, consulte o tópico My.Application.CommandLineArgs, na referência do Visual Basic.

  • Se você usar o Microsoft Visual C# para escrever o aplicativo, use o método Main.

    Para obter mais informações, consulte o tópico Command-Line Arguments (C# Programming Guide), no Guia de Programação C#.

A tarefa Executar Processo também inclui as propriedades StandardOutputVariable e StandardErrorVariable para especificar as variáveis que consomem a saída padrão e a saída de erro do aplicativo, respectivamente.

Além disso, você pode configurar a tarefa Executar Processo para especificar um diretório de trabalho, um tempo-limite ou um valor para indicar que o executável foi executado com êxito. A tarefa também pode ser configurada para falhar se o código de retorno do executável não corresponder ao valor que indica êxito, ou se o executável não for encontrado no local especificado.

Outras tarefas relacionadas

Integration Services inclui outras tarefas que realizam operações de fluxo de trabalho como executar pacotes.

Para obter mais informações sobre essas tarefas, clique em um dos seguintes tópicos:

Entradas de log personalizadas disponíveis na tarefa Executar Processo

A tabela a seguir relaciona as entradas de log personalizadas para a tarefa Executar Processo. Para obter mais informações, consulte Implementando log em pacotes e Mensagens personalizadas para log.

Entrada de log

Descrição

ExecuteProcessExecutingProcess

Fornece informações sobre o processo que a tarefa é configurada para executar.

São gravadas duas entradas de log. Uma contém informações sobre o nome e o local do executável que a tarefa executa e a outra registra a saída do executável.

ExecuteProcessVariableRouting

Fornece informações sobre quais variáveis são encaminhadas para a entrada e as saídas do executável. As entradas de log são gravadas em stdin (a entrada), stdout (a saída) e stderr (a saída do erro).

Configurando a tarefa Executar Processo

Você pode definir propriedades por meio do Designer do SSIS ou programaticamente.

Para obter mais informações sobre as propriedades que podem ser definidas no Designer do SSIS, clique em um dos seguintes tópicos:

Para obter mais informações sobre como definir essas propriedades no Designer SSIS, clique no tópico a seguir:

Configurando a tarefa Executar Processo programaticamente

Para obter mais informações sobre como definir programaticamente essas propriedades, clique no seguinte tópico:

Ícone do Integration Services (pequeno) Fique atualizado com o Integration Services

Para obter os mais recentes downloads, artigos, exemplos e vídeos da Microsoft, bem como soluções selecionadas da comunidade, visite a página do Integration Services no MSDN ou TechNet:

Para receber uma notificação automática das atualizações, assine os feeds RSS disponíveis na página.