Hier een gok doen terwijl ik wacht op een antwoord op de opmerking, meestal als een pakket goed werkt in BIDS maar niet werkt vanaf de opdrachtregel, merk ik dat het verband houdt met 64/32-bits incompatibiliteit.
Gebruikt u Excel, Access of iets anders dat onder de bladen de JET-driver gebruikt? Dat werkt alleen in 32-bits modus.
Op een 64-bits besturingssysteem, wanneer u een nieuwe ODBC-verbinding maakt, maakt u deze standaard in de 64-bits naamruimte waartoe de 32-bits versie geen toegang heeft?
Gebruikt u Informix- of UDB/DB2-stuurprogramma's? Ik heb daar maar 32 versies van gevonden.
Een pakket uitvoeren vanaf de opdrachtregel
dtexec
is het opdrachtregelmechanisme voor het uitvoeren van een SSIS-pakket. Het wordt geleverd in 2 smaken voor 64 bit OS, beide heten dtexec
en in het algemeen wordt naar 32 bits verwezen in de omgevingsvariabele Windows Path
Op een 64-bits besturingssysteem is het standaardpad naar de 64-bits "c:\Program Files\Microsoft SQL Server\100\DTS\Binn\DTExec.exe"
Nog steeds op 64-bits besturingssysteem, zou het pad naar de 32-versie "c:\Program Files (x86)\Microsoft SQL Server\100\DTS\Binn\DTExec.exe"
zijn
Om een pakket met de naam FooBar.dtsx uit te voeren dat zich in C:\Src\MyProject\MyProject bevindt, zou de aanroep zijn
"c:\Program Files (x86)\Microsoft SQL Server\100\DTS\Binn\DTExec.exe" /file C:\Src\MyProject\MyProject\FooBar.dtsx
Als dat pakket op SQL Server (DEVSQL01) in de map MyProject staat, zou dit de aanroep zijn om hetzelfde pakket uit te voeren.
"c:\Program Files (x86)\Microsoft SQL Server\100\DTS\Binn\DTExec.exe" /SQL \MyProject\FooBar /SERVER DEVSQL01
Bewerken
Om een configuratie toe te passen, moet u de /CONF
. specificeren optie
"c:\Program Files (x86)\Microsoft SQL Server\100\DTS\Binn\DTExec.exe" /file C:\Src\MyProject\MyProject\FooBar.dtsx /CONF C:\FooBar.dtsConfig
Kijkend naar uw opmerkingen, is het enige verschil tussen ons gebruik dat u alles tussen dubbele aanhalingstekens hebt gewikkeld. Probeer het eens zonder de voorgaande en volgende aanhalingstekens.