Как выполнить пакеты dtsx через командную строку
когда я выполняю пакет dtsx через командную строку, я запускаюсь со следующей ошибкой:
1.Соединение не найдено, ошибка вызывается коллекцией connections, когда конкретный элемент соединения не найден
2.Не удается разрешить путь пакета к объекту в пакете "xxxxxxx".Убедитесь, что путь к пакету действует
3.Путь пакета ссылается на объект, который не может быть найден, это происходит при попытке разрешить путь пакета к объекту, который не может быть найден
но это отлично работает, когда я запускаю пакет через Business Intelligence development studio.
3 ответов
угадывая здесь, пока я жду ответа на комментарий, как правило, когда пакет работает нормально в заявках, но не работает из командной строки, Я нахожу, что это связано с 64/32-битной несовместимостью.
вы используете Excel, Access или что-нибудь еще, что под листами использует драйвер JET? Это работает только в 32 битном режиме.
на 64-битной ОС, по умолчанию при создании нового соединения ODBC, вы будете создавать его в 64-битном пространстве имен, которое 32-битная версия не сможете получить доступ?
вы используете драйверы Informix или UDB/DB2? Я нашел только 32 версии.
запуск пакета из командной строки
программы dtexec - это механизм командной строки для запуска пакета служб SSIS. Он поставляется в 2 вкусах для 64-битной ОС, оба называются dtexec
и, как правило, 32 бит ссылается на переменную среды Windows Path
на 64-битной ОС, путь по умолчанию для 64-битной будет будь "c:\Program Files\Microsoft SQL Server0\DTS\Binn\DTExec.exe"
все еще на 64-битной ОС, путь к 32-й версии будет "c:\Program Files (x86)\Microsoft SQL Server0\DTS\Binn\DTExec.exe"
для запуска пакета с именем FooBar.dtsx, который живет в C:\Src\MyProject\MyProject, вызов будет
"c:\Program Files (x86)\Microsoft SQL Server0\DTS\Binn\DTExec.exe" /file C:\Src\MyProject\MyProject\FooBar.dtsx
если этот пакет живет на SQL Server (DEVSQL01) в папке MyProject, это будет вызов для запуска того же пакета.
"c:\Program Files (x86)\Microsoft SQL Server0\DTS\Binn\DTExec.exe" /SQL \MyProject\FooBar /SERVER DEVSQL01
редактировать
чтобы применить конфигурацию, необходимо указать /CONF
вариант
"c:\Program Files (x86)\Microsoft SQL Server0\DTS\Binn\DTExec.exe" /file C:\Src\MyProject\MyProject\FooBar.dtsx /CONF C:\FooBar.dtsConfig
глядя на ваши комментарии, единственная разница между нашим использованием заключается в том, что вы завернули все в двойные кавычки. Попробуйте без предыдущей и трейлинг-котировки.
введите ниже текст для вызова пакета служб SSIS
dtexec /f / set \package.переменные[переменная]; значение
пример: - dtexec /f E:\test_package\test_package\Package - ... dtsx-файл / set \package.переменные [id]; 1