Když zde budu hádat, zatímco čekám na odpověď na komentář, obvykle když balíček běží v pořádku v BIDS, ale nefunguje z příkazového řádku, zjistím, že to souvisí s nekompatibilitou 64/32 bitů.
Používáte Excel, Access nebo cokoli jiného, co pod listy používá ovladač JET? To funguje pouze v 32bitovém režimu.
Na 64bitovém OS se ve výchozím nastavení při vytváření nového připojení ODBC vytvoří v 64bitovém jmenném prostoru, ke kterému 32bitová verze nebude mít přístup?
Používáte ovladače Informix nebo UDB/DB2? Našel jsem jich jen 32 verzí.
Spuštění balíčku z příkazového řádku
dtexec
je mechanismus příkazového řádku pro spouštění balíčku SSIS. Dodává se ve 2 variantách pro 64bitový OS, obě se jmenují dtexec
a obecně je na 32 bitů odkazováno v proměnné prostředí Windows Path
V 64bitovém operačním systému by výchozí cesta k 64bitovému systému byla "c:\Program Files\Microsoft SQL Server\100\DTS\Binn\DTExec.exe"
Stále na 64bitovém OS by cesta k 32 verzi byla "c:\Program Files (x86)\Microsoft SQL Server\100\DTS\Binn\DTExec.exe"
Chcete-li spustit balíček s názvem FooBar.dtsx, který se nachází v C:\Src\MyProject\MyProject, vyvolání by bylo
"c:\Program Files (x86)\Microsoft SQL Server\100\DTS\Binn\DTExec.exe" /file C:\Src\MyProject\MyProject\FooBar.dtsx
Pokud tento balíček žije na serveru SQL Server (DEVSQL01) ve složce MyProject, bude to volání ke spuštění stejného balíčku.
"c:\Program Files (x86)\Microsoft SQL Server\100\DTS\Binn\DTExec.exe" /SQL \MyProject\FooBar /SERVER DEVSQL01
Upravit
Chcete-li použít konfiguraci, musíte zadat /CONF
možnost
"c:\Program Files (x86)\Microsoft SQL Server\100\DTS\Binn\DTExec.exe" /file C:\Src\MyProject\MyProject\FooBar.dtsx /CONF C:\FooBar.dtsConfig
Když se podíváte na vaše komentáře, jediný rozdíl mezi naším použitím je, že jste vše zabalili do dvojitých uvozovek. Zkuste to bez předchozí a koncové uvozovky.