dtexec retorna imediatamente sem nenhuma mensagem
On Novembro 30, 2020 by adminEstou tentando configurar uma chamada de linha de comando para dtexec para validar pacotes, usando o modelo de projeto. Estou chamando dtexec assim:
dtexec /val /proj my.ispac /pack my.dtsx /rep v
Embora os caminhos reais para o ispac e dtsx sejam mais longos. Quando eu executo isso, tudo que vejo no console é:
Microsoft (R) SQL Server Execute Package Utility Version 11.0.7001.0 for 32-bit Copyright (C) 2016 Microsoft. All rights reserved. Started: 10:40:01 AM PS D:\>
A coisa toda roda em menos de um segundo, o que me leva a acreditar que não fez nada. E nenhuma mensagem de qualquer tipo é emitida., Embora eu tenha solicitado relatórios detalhados.
Alguma idéia de como fazer isso funcionar?
Resposta
Você está quase lá, a sintaxe que está usando está correta por você não pode usar uma abreviatura /Val
. Na documentação oficial , você pode ver que:
/ Rep [orting] nível [; event_guid_or_name [; event_guid_or_name […]]
/ Pacote [idade] Nome do pacote: (Opcional). Especifica o pacote que é executado.
/ Rep [orting] nível [; event_guid_or_name [; event_guid_or_name […]]
/ Proj [ect] ProjectFile: (Opcional). Especifica o projeto do qual recuperar o pacote que é executado.
Fase de validação e execução: o pacote é executado ou validado sem execução se o / VALIDATE opção foi especificada.
Observe também que ao executar o pacote de um projeto, não adicione a extensão do pacote .dtsx
Com base nisso, tente usar o seguinte comando:
dtexec /Proj my.ispac /Pack my /Rep V /VALIDATE
Comentários
- Ok – o engraçado é que nenhuma mensagem de erro são emitidos. nada. Além disso, / val funciona bem. você não ' não precisa da palavra inteira ou de maiúsculas. O problema real é adicionar especificando o nome completo do pacote, incluindo o dtsx . Estranho que nenhuma mensagem de erro foi emitida!
- @ user1443098 ok eu reduzi as aspas :). Parece que você já resolveu o problema. Por que você não o fez ' não escreve uma resposta?
- Bem, eu não ' realmente não tenho uma resposta. A questão é por que ele retorna imediatamente sem mensagens? Eu ainda ' não sei. Eu acho que tem algo a ver com o nome do pacote, mas porque ele não ' emite nenhuma mensagem é um mistério para mim. Eu quero mensagens de erro se o programa puder ' ser executado com os parâmetros fornecidos. ainda assim, acho que ' uma resposta parcial.
Resposta
Quando você executa dtexec com os parâmetros que usei, você não pode especificar a extensão de arquivo .dtsx com o nome do pacote. Isso faz com que o programa seja encerrado imediatamente, sem mensagens de erro.
Por que o dtexec não emite algum tipo de mensagem de erro, como eu acho que deveria, permanece um mistério.
Deixe uma resposta