Oracle 表单:TNS:无法解析指定的连接标识符

Oracle forms: TNS: could not resolve the connect identifier specified

我的计算机上安装了 oracle 企业版和 oracle forms,当我从 sqlplus 和 sqldevelopper 连接到我的数据库时,它连接没有错误,但是当我尝试从 oracle forms 连接时,它给我这个错误:

ORA-12154:could not resolve the connect identifier specified

我在网上看过,我在某处读到这可能是因为我的计算机上安装了多个 oracle 客户端,而 sqlplus 使用了正确的文件,而 oracle forms 使用了不正确的文件,我认为这是我的情况,因为我有两个 tnsnames.ora 文件: 在这里:

C:\oracle\product.2.0\db_1\NETWORK\ADMIN\tnsnames.ora

在这里:

C:\oracle\product.2.0\NETWORK\ADMIN\SAMPLE

这是第一个 tnsnames.ora 文件的内容:

# tnsnames.ora Network Configuration File: C:\oracle\product.2.0\db_1\network\admin\tnsnames.ora
# Generated by Oracle configuration tools.

ORCL =
  (DESCRIPTION =
    (ADDRESS = (PROTOCOL = TCP)(HOST = BOUHDID.Home)(PORT = 1521))
    (CONNECT_DATA =
      (SERVER = DEDICATED)
      (SERVICE_NAME = ORCL)
    )
  )

EXTPROC_CONNECTION_DATA =
  (DESCRIPTION =
    (ADDRESS_LIST =
      (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1))
    )
    (CONNECT_DATA =
      (SID = PLSExtProc)
      (PRESENTATION = RO)
    )
  )

如果是这样,我该如何解决?

我通过执行以下步骤解决了我的问题:

  1. 已卸载 Oracle 文件和报告。
  2. 已使用通用安装程序卸载 Oracle 数据库。
  3. 删除了与 oracle 关联的所有注册表和服务。
  4. 重新安装了 Oracle 数据库。
  5. 重新安装了 oracle 表单和报告。
  6. 从我位于
  7. 的 tnsnames.ora 文件复制

C:\oracle\product.2.0\db_1\NETWORK\ADMIN 到位于 C:\orant\NET80\ADMIN 的 tnsnames.ora 文件 这部分:

ORCL =
  (DESCRIPTION =
    (ADDRESS = (PROTOCOL = TCP)(HOST = BOUHDID)(PORT = 1521))
    (CONNECT_DATA =
      (SERVER = DEDICATED)
      (SERVICE_NAME = orcl)
    )
  )

它就像一个魅力。

您可以只设置 TNS_ADMIN 环境变量。 这个 alawys 指向 tnsnames.ora 目录。所有 oracle 产品都会查看此变量。

因此您只需将 TNS_ADMIN 设置为:

C:\oracle\product.2.0\db_1\NETWORK\ADMIN