sql >> Base de Datos >  >> RDS >> Sqlserver

Cómo ejecutar paquetes dtsx a través de la línea de comandos

Adivinando aquí mientras espero una respuesta al comentario, generalmente cuando un paquete funciona bien en BIDS pero no funciona desde la línea de comandos, encuentro que está relacionado con la incompatibilidad de 64/32 bits.

¿Está usando Excel, Access o cualquier otra cosa que debajo de las hojas use el controlador JET? Eso solo funciona en modo de 32 bits.

En un sistema operativo de 64 bits, de forma predeterminada, cuando crea una nueva conexión ODBC, ¿la creará en el espacio de nombres de 64 bits al que no podrá acceder la versión de 32 bits?

¿Está utilizando controladores Informix o UDB/DB2? Solo encontré 32 versiones de esos.

Ejecutar un paquete desde la línea de comando

dtexec es el mecanismo de línea de comandos para ejecutar un paquete SSIS. Viene en 2 sabores para SO de 64 bits, ambos se denominan dtexec y generalmente se hace referencia a los 32 bits en la variable de entorno Ruta de Windows

En un sistema operativo de 64 bits, la ruta predeterminada al de 64 bits sería "c:\Program Files\Microsoft SQL Server\100\DTS\Binn\DTExec.exe"

Todavía en el sistema operativo de 64 bits, la ruta a la versión 32 sería "c:\Program Files (x86)\Microsoft SQL Server\100\DTS\Binn\DTExec.exe"

Para ejecutar un paquete llamado FooBar.dtsx que vive en C:\Src\MyProject\MyProject, la invocación sería

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

Si ese paquete vive en SQL Server (DEVSQL01) en la carpeta MyProject, esta sería la llamada para ejecutar el mismo paquete.

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

Editar

Para aplicar una configuración, debe especificar el /CONF opción

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

Mirando sus comentarios, la única diferencia entre nuestro uso es que ha envuelto todo entre comillas dobles. Pruébelo sin la comilla anterior y final.