Comment exécuter des paquets dtsx en ligne de commande

quand j'exécute un paquet dtsx en ligne de commande, je suis déclenché par l'erreur suivante:

1.La connexion n'est pas trouvée , l'erreur est lancée par la collecte des connexions quand l'élément de connexion spécifique n'est pas trouvé

2.Ne peut pas résoudre le chemin du paquet vers un objet du paquet "xxxxxxx".Vérifier que le chemin du paquet est valide

3.Le chemin du paquet référencé un objet qui ne peut pas être trouvé, ceci se produit lorsqu'une tentative est faite pour résoudre un chemin de paquet vers un objet qui ne peut pas être trouvé

mais ça marche très bien quand j'exécute le paquet par le biais de Business Intelligence Development studio.

10
demandé sur mahesh 2012-01-09 14:29:36

3 réponses

en prenant une conjecture ici pendant que j'attends une réponse au commentaire, généralement quand un paquet fonctionne bien dans les BIDS mais ne fonctionne pas à partir de la ligne de commande, je trouve qu'il est lié à l'incompatibilité 64/32 bits.

utilisez-vous Excel, Access ou autre chose qui sous les feuilles utilise le pilote de JET? Cela ne fonctionne qu'en mode 32 bits.

sur un OS 64 bits, par défaut quand vous créez une nouvelle connexion ODBC, vous la Créez dans l'espace de noms 64 bits à laquelle la version 32 bits ne pourra pas accéder?

utilisez-vous les pilotes Informix ou UDB/DB2? Je n'en ai trouvé que 32 versions.

lancer un paquet depuis la ligne de commande

dtexec est le mécanisme en ligne de commande pour exécuter un paquet SSIS. Il est livré en 2 saveurs pour OS 64 bits, les deux sont nommés dtexec et généralement le 32 bits est référencé dans la variable D'environnement Path Windows

sur un OS 64 bits, le chemin par défaut vers le 64 bits serait "c:\Program Files\Microsoft SQL Server0\DTS\Binn\DTExec.exe"

toujours sur OS 64 bits, le chemin vers la version 32 serait "c:\Program Files (x86)\Microsoft SQL Server0\DTS\Binn\DTExec.exe"

pour exécuter un paquet nommé FooBar.dtsx qui vit dans C:\Src\MyProject\MyProject, l'invocation serait

"c:\Program Files (x86)\Microsoft SQL Server0\DTS\Binn\DTExec.exe" /file C:\Src\MyProject\MyProject\FooBar.dtsx

si ce paquet vit sur SQL Server (DEVSQL01) dans le dossier MyProject, ce sera l'appel pour exécuter le même paquet.

"c:\Program Files (x86)\Microsoft SQL Server0\DTS\Binn\DTExec.exe" /SQL \MyProject\FooBar /SERVER DEVSQL01

Modifier

pour appliquer une configuration, vous devez spécifier l'option /CONF 151980920"

"c:\Program Files (x86)\Microsoft SQL Server0\DTS\Binn\DTExec.exe" /file C:\Src\MyProject\MyProject\FooBar.dtsx /CONF C:\FooBar.dtsConfig

en regardant vos commentaires, la seule différence entre nos usages est que vous avez tout emballé dans des doubles citations. Essayez-le sans le précédent et suivant citation.

32
répondu billinkc 2012-01-10 15:09:38

type ci-dessous texte pour appeler paquet SSIS

dtexec / f / set \package.variables[Variable]; valeur

exemple: - dtexec / f E:\test_package\test_package\Package.dtsx / set \package.variables [id]; 1

enter image description here

référence façons d'exécuter le paquet SSIS

1
répondu Samanth 2015-09-15 07:06:29

l'option / SQL est pour les paquets déployés dans le MSDB - > servername\StoredPackages\MSDB\

0
répondu Aram J. Dodakian 2016-06-29 14:31:55