Når jeg gætter her, mens jeg venter på et svar på kommentaren, generelt når en pakke kører fint i BIDS, men ikke virker fra kommandolinjen, finder jeg det relateret til 64/32 bit inkompatibilitet.
Bruger du Excel, Access eller andet, der under arkene bruger JET-driveren? Det virker kun i 32 bit-tilstand.
Når du opretter en ny ODBC-forbindelse på et 64 bit OS, vil du som standard oprette den i det 64 bit navneområde, som 32-bit versionen ikke vil have adgang til?
Bruger du Informix- eller UDB/DB2-drivere? Jeg har kun fundet 32 versioner af dem.
Kørsel af en pakke fra kommandolinjen
dtexec
er kommandolinjemekanismen til at køre en SSIS-pakke. Det kommer i 2 varianter til 64 bit OS, begge hedder dtexec
og generelt refereres til 32 bit i Windows Path-miljøvariablen
På et 64 bit OS vil standardstien til 64 bit være "c:\Program Files\Microsoft SQL Server\100\DTS\Binn\DTExec.exe"
Stadig på 64 bit OS vil stien til 32-versionen være "c:\Program Files (x86)\Microsoft SQL Server\100\DTS\Binn\DTExec.exe"
For at køre en pakke ved navn FooBar.dtsx, der bor i C:\Src\MyProject\MyProject, ville invocation være
"c:\Program Files (x86)\Microsoft SQL Server\100\DTS\Binn\DTExec.exe" /file C:\Src\MyProject\MyProject\FooBar.dtsx
Hvis den pakke lever på SQL Server (DEVSQL01) i mappen MyProject, ville dette være opfordringen til at køre den samme pakke.
"c:\Program Files (x86)\Microsoft SQL Server\100\DTS\Binn\DTExec.exe" /SQL \MyProject\FooBar /SERVER DEVSQL01
Rediger
For at anvende en konfiguration skal du angive /CONF
mulighed
"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 ser på dine kommentarer, er den eneste forskel mellem vores brug, at du har pakket alt ind i dobbelte anførselstegn. Prøv det uden det foregående og efterfølgende citat.