Oracle – Fix ORA-12154 Error While Retrieving Text

oracle

I am connecting to Oracle server using PLSQL,this is my tnsnames.ora(C:\Oracle\ora90\network\ADMIN) config:

  MY_ERP =
  (DESCRIPTION =
    (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.1.11)(PORT = 1521))
    (CONNECT_DATA =
      (SERVER = DEDICATED)
      (SERVICE_NAME =  orcl)
    )
  )

and this is my env variable of ORACLE_HOME:

C:\Oracle\ora90

When I am connecting to server,it throw this error:

error while trying to retrieve text for error ORA-12154

Am I missing something? The OS: Windows 10. PLSQL:7.1.4.1390. Oracle 9.

Best Answer

If those lines really start with spaces in tnsnames.ora, that will not work. Remove the leading spaces in the first line (MY_ERP =), becasue an alias can not start with a space.

You can also try setting TNS_ADMIN to C:\Oracle\ora90\network\ADMIN, because ORA-12154 means the connection identifier could not be resolved, mabybe PL/SQL Developer searches for tnsnames.ora somewhere else:

$ oerr ora 12154
12154, 00000, "TNS:could not resolve the connect identifier specified"
// *Cause:  A connection to a database or other service was requested using
// a connect identifier, and the connect identifier specified could not
// be resolved into a connect descriptor using one of the naming methods
// configured. For example, if the type of connect identifier used was a
// net service name then the net service name could not be found in a
// naming method repository, or the repository could not be
// located or reached.
// *Action:
//   - If you are using local naming (TNSNAMES.ORA file):
//      - Make sure that "TNSNAMES" is listed as one of the values of the
//        NAMES.DIRECTORY_PATH parameter in the Oracle Net profile
//        (SQLNET.ORA)
//      - Verify that a TNSNAMES.ORA file exists and is in the proper
//        directory and is accessible.
//      - Check that the net service name used as the connect identifier
//        exists in the TNSNAMES.ORA file.
//      - Make sure there are no syntax errors anywhere in the TNSNAMES.ORA
//        file.  Look for unmatched parentheses or stray characters. Errors
//        in a TNSNAMES.ORA file may make it unusable.
//   - If you are using directory naming:
//      - Verify that "LDAP" is listed as one of the values of the
//        NAMES.DIRETORY_PATH parameter in the Oracle Net profile
//        (SQLNET.ORA).
//      - Verify that the LDAP directory server is up and that it is
//        accessible.
//      - Verify that the net service name or database name used as the
//        connect identifier is configured in the directory.
//      - Verify that the default context being used is correct by
//        specifying a fully qualified net service name or a full LDAP DN
//        as the connect identifier
//   - If you are using easy connect naming:
//      - Verify that "EZCONNECT" is listed as one of the values of the
//        NAMES.DIRETORY_PATH parameter in the Oracle Net profile
//        (SQLNET.ORA).
//      - Make sure the host, port and service name specified
//        are correct.
//      - Try enclosing the connect identifier in quote marks.
//
//   See the Oracle Net Services Administrators Guide or the Oracle
//   operating system specific guide for more information on naming.

Finally: Oracle 9 was release 18 years ago, install a recent client, if your database is compatible with it.