Oracle
 sql >> Base de données >  >> RDS >> Oracle

ORA-12154 n'a pas pu résoudre l'identifiant de connexion spécifié

Je vais supposer que vous utilisez le fichier tnsnames.ora pour spécifier vos services de base de données disponibles. Si tel est le cas, les erreurs de connexion se résument généralement à deux choses.

  1. L'application ne peut pas trouver l'entrée TNS que vous avez spécifiée dans la chaîne de connexion.

  2. L'entrée TNS a été trouvée, mais l'IP ou l'hôte n'est pas correct dans le fichier tnsnames.ora.

Pour développer le numéro 1 (qui, je pense, est votre problème). Lorsque vous dites à Oracle de se connecter en utilisant quelque chose comme :

sqlplus user/[email protected]

Le service est défini dans le fichier tnsnames.ora. Si j'essaie de me connecter avec un service qui n'est pas défini dans mon tnsnames.ora, j'obtiens l'erreur suivante :

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

Vous devez donc vérifier quelques éléments :

  1. Existe-t-il un fichier tnsnames.ora ? Je pense que oui, car votre console peut se connecter
  2. Y a-t-il une entrée dans le fichier pour le service - je pense aussi que oui car la console se connecte
  3. L'application peut-elle trouver le fichier tnsnames.ora ?

Votre problème pourrait bien être le numéro 3 - l'application s'exécute-t-elle sous un autre utilisateur que lorsque vous exécutez la console ?

Oracle recherche le fichier tnsnames.ora dans le répertoire défini dans la variable d'environnement TNS_ADMIN - Si vous exécutez en tant qu'utilisateurs différents, alors peut-être que la variable d'environnement TNS_ADMIN n'est pas définie et qu'il ne peut donc pas trouver le fichier ?