sql >> Databáze >  >> RDS >> Oracle

ORA-12154 nedokázal vyřešit zadaný identifikátor připojení

Budu předpokládat, že k určení dostupných databázových služeb používáte soubor tnsnames.ora. Pokud ano, chyby připojení obvykle vedou ke dvěma věcem.

  1. Aplikace nemůže najít položku TNS, kterou jste zadali v řetězci připojení.

  2. Záznam TNS byl nalezen, ale IP nebo hostitel není v souboru tnsnames.ora správná.

Abych rozšířil číslo 1 (což je podle mě váš problém). Když řeknete Oracle, aby se připojil pomocí něčeho jako:

sqlplus user/[email protected]

Služba je definována v souboru tnsnames.ora. Pokud se pokusím připojit ke službě, která není definována v mém tnsnames.ora, zobrazí se chyba, kterou dostanete:

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

Takže musíte zkontrolovat několik věcí:

  1. Existuje soubor tnsnames.ora – myslím, že ano, protože vaše konzole se může připojit
  2. Je v souboru záznam pro službu – myslím, že také ano, když se konzole připojuje
  3. Může aplikace najít tnsnames.ora?

Váš problém může být klidně číslo 3 - běží aplikace jako jiný uživatel, než když spouštíte konzoli?

Oracle hledá soubor tnsnames.ora v adresáři definovaném v proměnné prostředí TNS_ADMIN - Pokud běžíte jako různí uživatelé, pak možná není nastavena proměnná prostředí TNS_ADMIN, a proto nemůže soubor najít?



  1. Jak vybrat data tabulky z jiné databáze v SQL Server?

  2. Checker Run

  3. Nejlepší způsob, jak uložit čas (hh:mm) do databáze

  4. Jak funguje funkce OCTET_LENGTH() v MySQL