dtexec ritorna immediatamente senza alcun messaggio
Su Novembre 30, 2020 da adminSto cercando di impostare una chiamata dalla riga di comando a dtexec per convalidare i pacchetti, utilizzando il modello di progetto. Sto chiamando dtexec in questo modo:
dtexec /val /proj my.ispac /pack my.dtsx /rep v
Anche se i percorsi reali per ispac e dtsx sono più lunghi. Quando lo eseguo, tutto quello che vedo sulla 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:\>
Lintera operazione dura meno di un secondo, il che mi porta a credere che non abbia fatto nulla. E non vengono emessi messaggi di alcun tipo, anche se ho chiesto rapporti dettagliati.
Qualche idea là fuori su come farlo funzionare?
Risposta
Ci sei quasi, la sintassi che stai utilizzando è corretta perché non puoi utilizzare unabbreviazione /Val
. Dalla documentazione ufficiale , puoi vedere che:
/ Rep [orting] livello [; event_guid_or_name [; event_guid_or_name […]]
/ Pack [age] PackageName: (facoltativo). Specifica il pacchetto che viene eseguito.
/ Rep [orting] livello [; event_guid_or_name [; event_guid_or_name […]]
/ Proj [ect] ProjectFile: (facoltativo). Specifica il progetto da cui recuperare il pacchetto che viene eseguito.
Fase di convalida ed esecuzione: il pacchetto viene eseguito o convalidato senza essere eseguito se / VALIDATE È stata specificata lopzione .
Tieni inoltre presente che quando si esegue un pacchetto da un progetto non aggiungere lestensione del pacchetto .dtsx
In base a questo, provare a utilizzare il seguente comando:
dtexec /Proj my.ispac /Pack my /Rep V /VALIDATE
Commenti
- Ok – la cosa divertente è che nessun messaggio di errore vengono emessi. nulla. Inoltre / val funziona perfettamente. ' non serve la parola intera o le maiuscole. Il vero problema è laggiunta di specificare il nome completo del pacchetto, incluso dtsx . Strano però che non vengano emessi messaggi di errore!
- @ user1443098 ok ho ridotto le virgolette :). Sembra che tu abbia già risolto il problema. Perché non lhai fatto ' t scrivere una risposta?
- Beh, ' non ho davvero una risposta. La domanda è: perché ritorna immediatamente senza messaggi? Ancora non ' lo so. Penso che abbia qualcosa a che fare con il nome del pacchetto, ma il motivo per cui ' non emette alcun messaggio è un mistero per me. Voglio messaggi di errore se il programma non può ' essere eseguito con i parametri indicati. ancora immagino che ' sia una risposta parziale.
Risposta
Quando esegui dtexec con i parametri che ho usato, non puoi specificare lestensione del file .dtsx con il nome del pacchetto. Ciò causa la chiusura immediata del programma, senza messaggi di errore.
Il motivo per cui dtexec non emette alcun tipo di messaggio di errore, come penso dovrebbe, rimane un mistero.
Lascia un commento