Oracle
 sql >> Datenbank >  >> RDS >> Oracle

ORA-12154 konnte die angegebene Verbindungskennung nicht auflösen

Ich gehe davon aus, dass Sie die Datei tnsnames.ora verwenden, um Ihre verfügbaren Datenbankdienste anzugeben. Wenn dies der Fall ist, sind Verbindungsfehler normalerweise auf zwei Dinge zurückzuführen.

  1. Die Anwendung kann den TNS-Eintrag, den Sie in der Verbindungszeichenfolge angegeben haben, nicht finden.

  2. Der TNS-Eintrag wurde gefunden, aber die IP oder der Host ist in der Datei tnsnames.ora nicht korrekt.

Um auf Nummer 1 einzugehen (was meiner Meinung nach Ihr Problem ist). Wenn Sie Oracle anweisen, eine Verbindung herzustellen, verwenden Sie Folgendes:

sqlplus user/[email protected]

Der Dienst ist in der Datei tnsnames.ora definiert. Wenn ich versuche, mich mit einem Dienst zu verbinden, der nicht in meiner tnsnames.ora definiert ist, erhalte ich die Fehlermeldung, die Sie erhalten:

[[email protected] ~]$ sqlplus sodonnel/[email protected]

SQL*Plus: Release 11.2.0.1.0 Production on Mon Oct 31 21:42:15 2011

Copyright (c) 1982, 2009, Oracle.  All rights reserved.

ERROR:
ORA-12154: TNS:could not resolve the connect identifier specified

Sie müssen also ein paar Dinge überprüfen:

  1. Gibt es eine tnsnames.ora-Datei - ich denke ja, weil Ihre Konsole eine Verbindung herstellen kann
  2. Gibt es einen Eintrag in der Datei für den Dienst - ich denke auch ja wie sich die Konsole verbindet
  3. Kann die Anwendung tnsnames.ora finden?

Ihr Problem könnte durchaus Nummer 3 sein - läuft die Anwendung unter einem anderen Benutzer als beim Ausführen der Konsole?

Oracle sucht nach der Datei tnsnames.ora in dem Verzeichnis, das in der Umgebungsvariable TNS_ADMIN definiert ist. Wenn Sie mit unterschiedlichen Benutzern arbeiten, ist die Umgebungsvariable TNS_ADMIN möglicherweise nicht festgelegt und kann die Datei daher nicht finden?