sql >> Database >  >> RDS >> Sqlserver

Waarom mislukt mijn ODBC-verbinding bij het uitvoeren van een SSIS-belasting in Visual Studio, maar niet bij het uitvoeren van hetzelfde pakket met het hulpprogramma Pakket uitvoeren

Ik maak hier enkele aannames, maar ik ga ervan uit dat dit een 32 versus 64 bit-probleem is. Probeer deze twee opdrachten vanaf een opdrachtprompt om dit te verifiëren (Windows-toets, R, cmd.exe of Start, Uitvoeren, cmd.exe)

"C:\Program Files (x86)\Microsoft SQL Server\110\DTS\Binn\dtexec.exe" /file C:\myPackage.dtsx
"C:\Program Files\Microsoft SQL Server\110\DTS\Binn\dtexec.exe" /file C:\myPackage.dtsx

De eerste voert uw pakket uit in 32-bits modus, terwijl de tweede het in 64-bits modus uitvoert. Dit is belangrijk omdat je stuurprogramma's en eventuele DSN's die je hebt gemaakt alleen zichtbaar zullen zijn in de 32/64-bits wereld.

SSDT repareren

Als je eenmaal hebt vastgesteld welke je nodig hebt, waarschijnlijk een 32-bits versie, moet je ervoor zorgen dat je project de juiste runtime gebruikt. Klik met de rechtermuisknop op uw project en selecteer Eigenschappen en navigeer vervolgens naar het tabblad Foutopsporing onder Configuratie-eigenschappen.

Na het omkeren van de Run64BitRuntime-waarde, neem ik aan dat je pakket werkt vanuit SSDT.

SQL-agent repareren

U moet de bestaande SQL Agent-taak bewerken om de bittedness van de taakstap te wijzigen. Dit staat onder het tabblad Configuratie en vervolgens onder het tabblad Geavanceerd. Schakel de 32-bits runtime in/uit.

Leugens en bedrog

Oplettende mensen kunnen zien dat de dtexec een /X86 . biedt optie. Geloof het niet. De enige manier om de juiste bit-ness te krijgen, is door expliciet de juiste dtexec.exe aan te roepen. De documentatie zegt zelfs zoveel, maar niemand leest de documentatie.

Deze optie wordt alleen gebruikt door SQL Server Agent. Deze optie wordt genegeerd als u het hulpprogramma dtexec vanaf de opdrachtprompt uitvoert.




  1. Bepalen of de Oracle-datum in het weekend valt?

  2. Een back-up maken van functies alleen in Postgres

  3. 4 uitvoermodi in tabelvorm in SQLite

  4. Room Migration Alter Table voegt geen nieuwe kolom toe &migreert steeds opnieuw gebeld worden