Om jag gissar här medan jag väntar på ett svar på kommentaren, vanligtvis när ett paket fungerar bra i BIDS men inte fungerar från kommandoraden, tycker jag att det är relaterat till 64/32 bitars inkompatibilitet.
Använder du Excel, Access eller något annat som under arken använder JET-drivrutinen? Det fungerar bara i 32-bitarsläge.
På ett 64-bitars operativsystem, när du skapar en ny ODBC-anslutning, kommer du som standard att skapa den i 64-bitars namnutrymmet som 32-bitarsversionen inte kommer att kunna komma åt?
Använder du Informix eller UDB/DB2-drivrutiner? Jag hittade bara 32 versioner av dessa.
Köra ett paket från kommandoraden
dtexec
är kommandoradsmekanismen för att köra ett SSIS-paket. Den finns i 2 varianter för 64-bitars OS, båda heter dtexec
och i allmänhet refereras till 32-bitars i miljövariabeln Windows Path
På ett 64-bitars operativsystem skulle standardsökvägen till 64-bitars vara "c:\Program Files\Microsoft SQL Server\100\DTS\Binn\DTExec.exe"
Fortfarande på 64-bitars operativsystem skulle sökvägen till 32-versionen vara "c:\Program Files (x86)\Microsoft SQL Server\100\DTS\Binn\DTExec.exe"
För att köra ett paket med namnet FooBar.dtsx som finns i C:\Src\MyProject\MyProject skulle anropet vara
"c:\Program Files (x86)\Microsoft SQL Server\100\DTS\Binn\DTExec.exe" /file C:\Src\MyProject\MyProject\FooBar.dtsx
Om det paketet finns på SQL Server (DEVSQL01) i mappen MyProject, skulle detta vara anropet för att köra samma paket.
"c:\Program Files (x86)\Microsoft SQL Server\100\DTS\Binn\DTExec.exe" /SQL \MyProject\FooBar /SERVER DEVSQL01
Redigera
För att tillämpa en konfiguration måste du ange /CONF
alternativ
"c:\Program Files (x86)\Microsoft SQL Server\100\DTS\Binn\DTExec.exe" /file C:\Src\MyProject\MyProject\FooBar.dtsx /CONF C:\FooBar.dtsConfig
När du tittar på dina kommentarer är den enda skillnaden mellan vår användning att du har lindat in allt i dubbla citattecken. Prova utan föregående och efterföljande citat.