Как выполнить пакеты dtsx через командную строку - PullRequest
11 голосов
/ 09 января 2012

когда я выполняю пакет dtsx через командную строку, я получаю следующую ошибку: 1001 *

1.Соединение не найдено, возникает ошибка при сборе соединений, когда конкретный элемент соединения не найден

2.Не удается разрешить путь пакета к объекту в пакете «xxxxxxx». Убедитесь, что путь к пакету действителен

3.Путь к пакету ссылается на объект, который не может быть найден, это происходит, когда делается попытка разрешить путь пакета к объекту, который не может быть найден

Но это прекрасно работает, когда я запускаю пакет в студии разработки Business Intelligence.

Ответы [ 3 ]

33 голосов
/ 09 января 2012

Догадываясь здесь, пока я жду ответа на комментарий, обычно, когда пакет работает нормально в BIDS, но не работает из командной строки, я обнаружил, что это связано с несовместимостью 64/32 бита.

Используете ли вы Excel, Access или что-то еще, что под листами использует драйвер JET? Это работает только в 32-битном режиме.

В 64-разрядной ОС по умолчанию при создании нового подключения ODBC вы будете создавать его в 64-разрядном пространстве имен, к которому 32-разрядная версия не сможет получить доступ?

Используете ли вы драйверы Informix или UDB / DB2? Я только когда-либо нашел 32 версии тех.

Запуск пакета из командной строки

dtexec - механизм командной строки для запуска пакета служб SSIS. Он поставляется в двух вариантах для 64-битной ОС, обе называются dtexec, и обычно на 32-битную версию ссылается переменная среды Windows Path

В 64-битной ОС путь по умолчанию для 64-битной версии будет "c:\Program Files\Microsoft SQL Server\100\DTS\Binn\DTExec.exe"

Все еще в 64-битной ОС путь к 32-й версии будет "c:\Program Files (x86)\Microsoft SQL Server\100\DTS\Binn\DTExec.exe"

Чтобы запустить пакет с именем FooBar.dtsx, который находится в C: \ Src \ MyProject \ MyProject, вызов будет

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

Если этот пакет находится на SQL Server (DEVSQL01) в папке MyProject, это будет вызов для запуска того же пакета.

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

Редактировать

Чтобы применить конфигурацию, вам нужно указать опцию /CONF

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

Глядя на ваши комментарии, единственное отличие нашего использования заключается в том, что вы заключили все в двойные кавычки. Попробуйте без предшествующей и завершающей цитаты.

1 голос
/ 15 сентября 2015

введите текст ниже для вызова пакета служб SSIS

dtexec / f / set \ package.variables [Переменная]; значение

Пример: - dtexec / f E: \ test_package \ test_package \ Package.dtsx / set \ package.variables [id]; 1

enter image description here

Ссылка Способы выполнения пакета служб SSIS

0 голосов
/ 29 июня 2016

Параметр / SQL предназначен для пакетов, развернутых в MSDB -> имя_сервера \ StoredPackages \ MSDB \

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...