sql >> Databasteknik >  >> RDS >> Oracle

ORA-12154 kunde inte lösa den angivna anslutningsidentifieraren

Jag kommer att anta att du använder filen tnsnames.ora för att specificera dina tillgängliga databastjänster. Om så är fallet beror anslutningsfel vanligtvis på två saker.

  1. Applikationen kan inte hitta TNS-posten som du angav i anslutningssträngen.

  2. TNS-posten hittades, men IP:n eller värden är inte korrekt i filen tnsnames.ora.

För att utöka nummer 1 (som jag tror är ditt problem). När du säger åt Oracle att ansluta med något som:

sqlplus user/[email protected]

Tjänsten definieras i filen tnsnames.ora. Om jag försöker ansluta till en tjänst som inte är definierad i min tnsnames.ora får jag felmeddelandet som du får:

[[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

Så du måste kontrollera några saker:

  1. Finns det en tnsnames.ora-fil - jag tror ja eftersom din konsol kan ansluta
  2. Finns det en post i filen för tjänsten - jag tror också ja när konsolen ansluter
  3. Kan programmet hitta tnsnames.ora?

Ditt problem kan mycket väl vara nummer 3 - körs applikationen som en annan användare än när du kör konsolen?

Oracle letar efter filen tnsnames.ora i katalogen som definieras i miljövariabeln TNS_ADMIN - Om du kör som olika användare, kanske miljövariabeln TNS_ADMIN inte är inställd och därför inte kan hitta filen?



  1. Parameter Sniffing (eller Spoofing) i SQL Server

  2. Hur man lägger till beräknad kolumn i SQL Server Table - SQL Server / T-SQL självstudie del 47

  3. PostgreSQL CSV-import från kommandoraden

  4. Hur man ansluter MySQL-databas med PHP-webbplats