Ich versuche, eine Verbindung zu Oracle mithilfe von SSIS-Paket (SQL Server 2008 R2) und lädt Daten in meine SQL Server-Tabelle.SSIS-Paket schlägt fehl, wenn mit Agent-Auftrag geplant
- Runs in einem 64-Bit 2008 R2 Maschine
- Hat-Setup die TNS: Listner für Oracle-Client. Ich habe sowohl 32bit als auch 64bit Oracle Client installiert. in HKEY_LOCAL_MACHINE
- Set Umgebungsvariable Pfad (TNS_ADMIN)
- Erstellt einen Registrierungseintrag "TNS_ADMIN" das TNSNAMES.ora Verzeichnis von 64-Bit-Oracle-Client zeigt -> SOFTWARE -> ORACLE
Alles funktioniert gut, wenn läuft in BIDS. Ich habe Attunity Connector und Native Oracle Provider für OLEDB verwendet. Beide arbeiten in BIDS.
Sobald ich es in einem SQL-Agent-Auftrag plane und laufe das gleiche Paket, bekomme ich folgende Fehlermeldung:
Message Executed as user: AMERICAS\ssisdata. Microsoft (R) SQL Server Execute Package Utility Version 10.50.1600.1 for 32-bit Copyright (C) Microsoft Corporation 2010. All rights reserved. Started: 3:17:23 PM Error: 2016-04-08 15:17:32.76 Code: 0xC0202009
Source: ORA OLEDB TEST Connection manager "OLEDB ORA CONN MGR"
Description: SSIS Error Code DTS_E_OLEDBERROR. An OLE DB error has occurred. Error code: 0x80004005. An OLE DB record is available. Source: "OraOLEDB" Hresult: 0x80004005 Description: "ORA-12541: TNS:no listener". End Error Error: 2016-04-08 15:17:32.76 Code: 0xC020801C Source: Data Flow Task OLE DB Source [209]
Description: SSIS Error Code DTS_E_CANNOTACQUIRECONNECTIONFROMCONNECTIONMANAGER. The AcquireConnection method call to the connection manager "OLEDB ORA CONN MGR" failed with error code 0xC0202009.
Ich habe in verschiedenen Maschinen versucht. Aber das ist auch der Fall. Ich habe den Kopf seit zwei Tagen gebrochen. Jede Hilfe wäre willkommen.
Der Fehler "ORA-12541: TNS: no listener" ist ziemlich definitiv. Es gibt keinen Oracle-Listener-Prozess für die IP-Adresse und den Port, die vom Client angegeben wurden, der die Anforderung ausgeführt hat. Zeitraum. Punkt. Wenn Sie vom Client-Rechner ein erfolgreiches tnsping erhalten, dann ist oracle das Opfer, nicht der Täter und Sie müssen Ihre oledb-Konfiguration durchgehen. Ich weiß nicht, was du meinst "tns listener for client". Der Listener ist ein serverseitiger Prozess, kein Clientprozess. – EdStevens
Auf dem Server, der Oracle hostet, geben Sie ein: lsnrctl und dann "status". Wenn Sie dort keine aktiv abhörenden Prozesse sehen, geben Sie "start" ein. Stellen Sie außerdem sicher, dass Ihr Client-tnsnames-Eintrag auf den richtigen Host und den richtigen Dienst verweist. –
Danke Chris. Aber ich versuche dasselbe von derselben Maschine. Wenn in der angegebenen IP-Adresse kein Oracle-Listener-Prozess vorhanden ist, schlägt das gleiche Paket beim Ausführen von Visual Studio fehl? Es läuft gut, wenn es von VS läuft. Scheitert jedoch nur in einem SQL-Agent-Job vom selben Computer. Über "tns listener for client", mein Schlechter, meinte ich eigentlich, die TNSNAMES.ora Dateispezifikation. "tnsping" wird von meinem Computer nicht als gültiger Befehl erkannt. Ich weiß nicht, warum ich diese Nachricht bekomme, wenn ich erfolgreich Verbindung mit VS herstellen konnte. –