Benutzer mit den meisten Antworten
Oracle zugriff

Frage
-
Hallo!
Ich habe ein SSIS Projekt, in dem ich über einen Verbindungsmanager einen Zugriff auf eine Oracle DB einrichten möchte.
Auf dem PC habe ich den Oracle-Client installiert.
Beim Erstellen/Einrichten des Verbindungsmanagers funktioniert der Testzugriff erfolgreich:
Wenn ich den Verbindungsmanager jedoch bearbeiten oder benutzen möchte, wird eine Fehlermeldung angezeigt:
Woran könnte das liegen? Was könnte ich ändern???
Antworten
-
Kleine Anmerkung: Besser nicht (nie) den .NET Provider in SSIS verwenden, sondern besser (immer) den OleDB Provider.
SSIS ist in Unmanaged Code geschrieben, während .NET Managed Code ist; verwendest Du den .NET, muss SSIS ständig im Kontext wechseln und das geht auf die Performanz.
Olaf Helper
[ Blog] [ Xing] [ MVP]- Als Antwort vorgeschlagen Ivan DragovMicrosoft contingent staff, Moderator Montag, 29. Oktober 2018 06:21
- Als Antwort markiert perlfred Dienstag, 30. Oktober 2018 07:29
Alle Antworten
-
Hallo perlfred,
welche Version ist die Oracle Datenbank auf die du Zugreifen möchtest. Verwendest du den OracleProvider aus dem .net Framework? Der ist nämlich Uralt und wird schon seit der Version .net 2.0 nicht mehr gepflegt.Neuere Versionen gibt es nur von Oracle selbst. Bitte den neusten runterladen, installieren und noch einmal probieren.
Viele Grüße Holger M. Rößler
- Bearbeitet Holger M. Rößler Mittwoch, 24. Oktober 2018 14:16
-
Hallo Holger!
Ich verwende den Oracle-Client 12.2.01 (von Oracle) der auf einen Oracle-DB Server 11g zugreift.
Auf einem anderen Rechner, mit dem gleichem Oracle-Client funktioniert der Zugriff.
Oracle Database 11g Release 11.2.0.4.0 - 64bit Production
- Bearbeitet perlfred Donnerstag, 25. Oktober 2018 12:36 Konkretisierung
-
Hallo Perlfred,
Du musst den ORACLE-Client auf dem SQL Server installieren (resp. auf dem Server, von dem Dein SSIS-Paket ausgeführt wird!)
https://www.oracle.com/technetwork/database/windows/index-089115.html
Das der ORACLE-Client auf Deinem Rechner funktioniert, zeigt ja, dass es der richtige Treiber zu sein scheint. Nun muss auch der SQL Server Agent das SSIS-Paket ausführen (und das tut er gewöhnlich vom SQL Server aus) :)
Uwe Ricken (Blog | Twitter)
Microsoft Certiied Master - SQL Server 2008
Microsoft Certified Solution Master - CHARTER Data Platform
Microsoft Certified Solution Expert - Data Platform
db Berater GmbH
Microsoft SQL Server Blog (german only) -
Kleine Anmerkung: Besser nicht (nie) den .NET Provider in SSIS verwenden, sondern besser (immer) den OleDB Provider.
SSIS ist in Unmanaged Code geschrieben, während .NET Managed Code ist; verwendest Du den .NET, muss SSIS ständig im Kontext wechseln und das geht auf die Performanz.
Olaf Helper
[ Blog] [ Xing] [ MVP]- Als Antwort vorgeschlagen Ivan DragovMicrosoft contingent staff, Moderator Montag, 29. Oktober 2018 06:21
- Als Antwort markiert perlfred Dienstag, 30. Oktober 2018 07:29
-
Hallo Uwe!
Damit hast Du erst einmal vollkommen Recht. Der Ausgangspunkt meiner Anfrage resultiert auch aus dieser Erkenntnis. Das Installieren des Oracle-Client (auf dem ausführenden SQL-Server) allein reicht jedoch nicht aus, damit das dtsx-Paket (vom Assistent) ausgeführt werden kann. Wenn in den Verbindungseinstellungen Passwörter hinterlegt sind, werden diese (per Default) mit dem Benutzerkonto (des Paketerstellers!) verschlüsselt. Da in der Regel das Benutzerkonto des Erstellers und das Benutzerkonto des ausführenden Agenten nicht übereinstimmen, wird ein Fehler erzeugt:
Beschreibung: Fehler beim Entschlüsseln des geschützten XML-Knotens 'DTS:Password' (Fehlercode: 0x8009000B 'Schlüssel ist im angegebenen Status nicht gültig.'). Möglicherweise verfügen Sie nicht über die Zugriffsrechte für diese Informationen. Dieser Fehler tritt bei einem kryptografischen Fehler auf. Überprüfen Sie ob der richtige Schlüssel verfügbar ist.
Um dies Alles zu testen, habe ich mich auf meinem Rechner (Anmerkung: Auf meinem Rechner/unter meinem Benutzer-Account habe ich das SSIS-Paket erstellt und es ist komplett lauffähig) mit dem Benutzerkonto des SQL-Server Agenten angemeldet, den Oracle-Client (erneut) installiert und das SSIS-Paket im BI-Studio geöffnet. Nun wollte ich die Oracle-Verbindungseinstellungen prüfen ... mit dem obigen Ergebnis (Test-Verbindungsaufbau funktioniert [erneute Eingabe des Passwortes] sobald ich aber ein weiteres Mal auf die Verbindungseinstellungen doppelklicke [im Designer!!!] -> DbProviderFactory-Klasse konnte nicht erstellt werden). Also schon im Designer funktioniert die Oracle-Verbindung nicht korrekt, nicht erst beim ausführen des SSIS-Paketes durch den Assistenten.
Gibt es dafür eine Erklärung???
-
Wenn in den Verbindungseinstellungen Passwörter hinterlegt sind, werden diese (per Default) mit dem Benutzerkonto (des Paketerstellers!) verschlüsselt
Ja, das ist der Default, aber den kann man ändern, z.B. das mit einem Passwort verschlüsselt wird, das Du dann bei Anlage des Agent Jobs einfach eingibst.
Olaf Helper
[ Blog] [ Xing] [ MVP]- Als Antwort vorgeschlagen Ivan DragovMicrosoft contingent staff, Moderator Montag, 29. Oktober 2018 06:21
-
Hallo Olaf!
Mit dem OLE-Provider kann ich erst einmal eine Verbindung mit der Oracle DB herstellen !!!
Aber
bei der Hälfte der Sichten auf die ich zugreifen möchte bekomme ich folgende Fehlermeldung:
die View ist aber auf jedem Fall in der DB:
Woran könnte das denn liegen???
- Bearbeitet perlfred Freitag, 26. Oktober 2018 08:25
-
ProtectionLevel ist eine Einstellung auf Paketebene, nicht am Verbindungsmanager.
Der Rest der Informationen sind verwirrend. Im Verbindungsmanager steht"WodisDB2_WODIS" als Datenbank/Servername, im Screenshot mit den Views steht "WODIS-PROD", ein anderer Name.
In der Fehlermeldung steht "WODIS.BGL_VIEW...", wobei WODIS dann das Schema ist; gibt es die View in dem Schema und hat der Login Rechte auf dem Schema? Im Screenshot mi den Views sieht man nichts von einem Schema.
Olaf Helper
[ Blog] [ Xing] [ MVP]- Als Antwort vorgeschlagen Ivan DragovMicrosoft contingent staff, Moderator Montag, 29. Oktober 2018 06:21
-
Hallo Olaf!
Wenn man die Views noch ein wenig umstellt (Datumsformat), funktionieren die Abfragen mit dem OLE Provider perfekt. Dies scheint der Oracle .Net Provider im Hintergrund selbständig anzupassen.
Vielen Dank für deine Hilfe!!!
Fred.
Aus folgender Fehlermeldung erkannt:
- Bearbeitet perlfred Dienstag, 30. Oktober 2018 07:43