sql >> Base de Datos >  >> RDS >> Oracle

ORA-12154 no pudo resolver el identificador de conexión especificado

Asumiré que está utilizando el archivo tnsnames.ora para especificar los servicios de base de datos disponibles. Si es así, los errores de conexión generalmente se reducen a dos cosas.

  1. La aplicación no puede encontrar la entrada TNS que especificó en la cadena de conexión.

  2. Se encontró la entrada TNS, pero la IP o el host no son correctos en el archivo tnsnames.ora.

Para ampliar el número 1 (que creo que es su problema). Cuando le dices a Oracle que se conecte usando algo como:

sqlplus user/[email protected]

El servicio se define en el archivo tnsnames.ora. Si intento conectarme con un servicio que no está definido en mi tnsnames.ora, aparece el error:

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

Por lo tanto, debe verificar algunas cosas:

  1. ¿Hay un archivo tnsnames.ora? Creo que sí porque su consola puede conectarse
  2. ¿Hay una entrada en el archivo para el servicio? Creo que también sí, ya que la consola se conecta
  3. ¿Puede la aplicación encontrar tnsnames.ora?

Su problema bien puede ser el número 3:¿la aplicación se ejecuta como un usuario diferente que cuando ejecuta la consola?

Oracle busca el archivo tnsnames.ora en el directorio definido en la variable de entorno TNS_ADMIN. Si está ejecutando como usuarios diferentes, entonces tal vez la variable de entorno TNS_ADMIN no está configurada y, por lo tanto, no puede encontrar el archivo.