sql >> Database >  >> RDS >> Sqlserver

Hoe dtsx-pakketten via de opdrachtregel uit te voeren

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.



  1. Inleiding tot PL/SQL-verzamelingen in Oracle Database

  2. Mysql-gegevenstype of php-code om met 1 te verhogen elke keer dat een pagina in mijn database in een browser wordt geladen

  3. alleen mysqldump-gegevens

  4. Ervoor zorgen dat de MySQL-verbinding werkt in de PHP-functie