Правейки предположения тук, докато чакам отговор на коментара, обикновено когато пакет работи добре в BIDS, но не работи от командния ред, намирам, че е свързано с 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 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
Като гледам вашите коментари, единствената разлика между нашата употреба е, че сте поставили всичко в двойни кавички. Опитайте го без предходния и завършващия цитат.