Oracle (0x80004005) ORA-12154: TNS: Konnte die Verbindungskennung nicht auflösen

8

Ich versuche, von einer klassischen ASP-Anwendung eine Verbindung zu einer Orakel-Datenbank herzustellen, aber ich laufe weiterhin auf den ORA-12154-Fehler.

  1. TNSNAMES.ORA ist richtig konfiguriert

    DBSOURCE.A.B.com = (BESCHREIBUNG = (ADDRESS_LIST =   (ADDRESS = (PROTOKOLL = TCP) (HOST = C.D.B.com) (PORT = 1231)) ) (CONNECT_DATA =   (SERVICE_NAME = DBSOURCE) ) )

  2. Ich kann TNSPING

    C: \ Dokumente und Einstellungen \ USERID.A & gt; tnsping DBSOURCE

    TNS Ping-Dienstprogramm für 32-Bit-Windows: Version 10.2.0.4.0 - Produktion am 09-MAR-2 011 09:12:31

    Copyright (c) 1997, 2007, Oracle. Alle Rechte vorbehalten.

    Verwendete Parameterdateien: C: \ oracle \ product \ 10.2.0 \ Client_1 \ NETZWERK \ ADMIN \ sqlnet.ora

    Benutzte TNSNAMES-Adapter, um den Alias ​​aufzulösen Kontakt versuchen (DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP) (HOST = C.D.B.com) (PORT = 1231))) (CONNECT_DATA = (SERVIC E_NAME = DBSOURCE))) OK (30 ms)

  3. Ich kann eine ODBC-Verbindung erstellen und habe die Verbindung getestet, die erfolgreich ist.

  4. Ich kann eine Verbindung zum oracle db über Toad herstellen.
  5. Ich habe meine sqlnet.ora-Datei überprüft

    NAMES.DEFAULT_DOMAIN = A.B.com

    SQLNET.AUTHENTICATION_SERVICES = (KEINE)

    NAMES.DIRECTORY_PATH = (TNSNAMES, EZCONNECT)

  6. Ich habe auch überprüft, dass TNSNAMES.ORA einer meiner Systempfade ist.

  7. Ich kann mit SQLPLUS

  8. eine Verbindung zur Datenbank herstellen

Hier ist der Code, der den Fehler auslöst

%Vor%

Ich benutze Windows XP Pro 32bit SP3

Ich habe das auf einem Mitarbeiter-Rechner getestet und die ASP-App hat keine Probleme, fehlt mir irgendwo eine Konfiguration oder habe ich meine Konfiguration durcheinander gebracht?

Danke für die Hilfe alle!

    
ChickSentMeHighE 13.08.2010, 13:49
quelle

7 Antworten

4

Es scheint, dass alle Einstellungen überprüft wurden, aber hier sind meine Vorschläge für einige Probleme:

  • Wie sieht es mit Einschränkungen für das Konto aus, unter dem IIS läuft? Hat es die Dateiberechtigungen zum Lesen der TNSNAMES? Haben Sie versucht, dem Benutzer mehr Rechte zu geben? Führen Sie IIS sogar mit dem System als Systemkonto aus? Denken Sie daran, es so zurückzulegen, wie es war.
  • Sie sind sicher, dass es keine 3rd-Party-App gibt, wie z. B. ein Anti-Virus oder eine Firewall, die den Zugriff beeinflussen / blockieren könnten. (Deaktivieren Sie sie zum Testen, aber vergessen Sie nicht, sie erneut zu aktivieren:)

(Was haben Sie schließlich getan, um es zu lösen?)

    
Derick Schoonbee 14.03.2011, 19:06
quelle
2
  

"Dies funktioniert auf einem Mitarbeiter-Rechner, aber   nicht meins. "

ORA-12154 ist normalerweise ein Konfigurationsproblem, und in Ihrem Fall scheint es so zu sein. Die kurze Antwort ist, Ihre Maschine mit der Ihres Kollegen zu vergleichen und herauszufinden, was der Unterschied ist.

Zu überprüfende Punkte:

  • die TNANAMES.ORA-Datei
  • die SQLNET.ORA-Datei
  • die Datei LISTENER.ORA (wenn Sie eine lokale Datenbank verwenden)
APC 13.08.2010 13:55
quelle
2

Haben Sie mehrere Häuser von Oracle? Stellen Sie sicher, dass IIS nicht auf das andere ORA_HOME zeigt (und dadurch Ihren Eintrag tnsnames.ora nicht findet). Ich bin nicht sehr vertraut mit IIS-Konfiguration, also würde ich dies testen, indem Sie den TNS-Eintrag zu allen tnsnames.ora auf meinem PC hinzufügen.

    
Klas Lindbäck 10.03.2011 01:09
quelle
1

Wenn Sie ein 64-Bit-Betriebssystem und Oracle 10 verwenden, versuchen Sie, alle Patches für Oracle zu installieren. Etwas ähnliches ist mir passiert, SQL Plus und alles andere hat funktioniert, außer meinem .NET Programm. Ich habe ein .Net-Programm aus dem Ordner "Programmdateien (x86)" ausgeführt. Die Installation von Patches hat es behoben.

    
sunil 18.08.2010 20:55
quelle
1

Das wahrscheinlichste Problem ist das Fehlen der Leseberechtigung für die Oracle-Verzeichnisse durch den Benutzer, den IIS ausführt.

Wie @Derick sagt, vorübergehend setzen Sie die Berechtigungen im Verzeichnis $ ORACLE_HOME (Everyone = Vollzugriff) auf weit geöffnet, starten Sie IIS neu und testen Sie. Wenn das funktioniert, geben Sie dem IIS-Benutzer Leseberechtigung für dieses Verzeichnis.

Sie können dieses Problem auch mithilfe von Process Monitor von Microsoft SysInternals bestätigen und dabei die Fehlernachricht sehen Der CreateFile (...) API-Aufruf zum Öffnen der DLLs oder Lesen der TNSNAMES.ORA-Datei. Angesichts der Funktionsweise von temporären Dateien bei der Auswahl über Cursor müssen Sie dem IIS-Benutzer möglicherweise auch Schreibrechte für einige Verzeichnisse erteilen.

    
Andy Finkenstadt 14.03.2011 19:48
quelle
0

Versuchen Sie, den Wert der Umgebungsvariable TNS_ADMIN auf dem Computer mit dem Problem auf / network / admin (oder wo auch immer Ihre tnsnames.ora Datei lebt) zu setzen und sehen Sie, ob das hilft.

    
DCookie 13.08.2010 14:13
quelle
0

Ich hatte das ähnliche Problem und fand eine einfache Lösung. Sie müssen keine Konfigurationsdateien ändern. Hoffe das kann dir helfen:

%Vor%

Die Lösung ist von hier: Ссылка

    
Bryan 05.09.2014 13:53
quelle