Warum funktioniert meine ODBC-Verbindung fehlschlagen beim ausführen eines SSIS-laden in Visual Studio aber nicht beim laufen das gleiche Paket verwenden von Execute Package Utility
Arbeite ich auf einer Data-Mart-laden Paket im SSIS-2012. Wenn Sie versuchen, das Paket auszuführen, die in Visual Studio bekomme ich diesen Fehler:
"Der AcquireConnection-Methode aufrufen, um das Verbindungs-manager-Daten
Lager.ssusr fehlgeschlagen mit Fehler code 0xC0014009".
Wenn ich testen Sie die Konnektivität des Verbindungs-Manager-Data Warehouse.ssusr ich sehe, dass es geht.
Als ich das Paket auszuführen, die außerhalb von Visual Studio mit dem Execute Package Utility, das Paket ausgeführt wird.
Ich verstehe nicht, was Los ist.
Paket weigert sich, führen Sie mit dem SQL-Server-Job Zeitplan, wenn, dass hat nichts damit zu tun.
InformationsquelleAutor der Frage Scott Wood | 2012-12-19
Du musst angemeldet sein, um einen Kommentar abzugeben.
Machen einige Annahmen hier, aber ich gehe davon aus, dass dies ist ein 32 vs 64 bit-Problem. Um zu überprüfen, versuchen Sie diese zwei Befehle an einer Eingabeaufforderung (Windows-Taste R, cmd.exe oder Start, Ausführen, cmd.exe)
Ersten ausführen wird Ihr Paket im 32-bit Modus, während die zweite läuft im 64 bit-Modus. Dies ist die Materie, als Ihr Treiber und alle DSNs, die Sie erstellt haben, gehen nur sichtbar in der 32/64-bit-Welt.
Befestigung SSDT
Nachdem Sie ermittelt haben, welches Sie brauchen, wahrscheinlich 32-bit-version, müssen Sie sicherstellen, dass Ihr Projekt mit der entsprechenden Laufzeit. Der rechten Maustaste auf Ihr Projekt und wählen Sie Eigenschaften, und navigieren Sie dann zu der Registerkarte Debuggen unter Konfigurationseigenschaften.
Nachdem er die Run64BitRuntime-Wert, ich nehme an, Ihr Paket wird aus den SSDT.
Befestigung SQL-Agent
Müssen Sie Bearbeiten Sie die vorhandene SQL-Agent-Auftrag zur änderung der bittedness der Auftrag-Schritt. Diese werden unter der Registerkarte "Konfiguration" und dann unter der Registerkarte "Erweitert". Aktivieren/Deaktivieren Sie die 32-bit-Laufzeit.
Lügen und Täuschung
Aufmerksame Leute können sehen, dass die dtexec bietet eine
/X86
option. Glaube es nicht. Der einzige Weg, um die richtige bit-ness, ist der explizite Aufruf der richtigen dtexec.exe Die Dokumentation sagt sogar, wie viel, aber niemand liest die Dokumentation.InformationsquelleAutor der Antwort billinkc