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

w1jd8yoj  于 2022-11-22  发布在  Oracle
关注(0)|答案(3)|浏览(126)

我的计算机上安装了Oracle Enterprise Edition和Oracle Forms,当我从sqlplus和sqldevelopper连接到数据库时,它连接无误,但当我尝试从Oracle Forms连接时,它给我以下错误:

ORA-12154:could not resolve the connect identifier specified

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

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

在这里:

C:\oracle\product\10.2.0\NETWORK\ADMIN\SAMPLE

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

# tnsnames.ora Network Configuration File: C:\oracle\product\10.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)
    )
  )

如果是这样的话,我该怎么解决这个问题?

xwbd5t1u

xwbd5t1u1#

您可以只设置TNS_ADMIN环境变量。它总是指向tnsnames.ora目录。并且所有Oracle产品都查看此变量。
因此,只需将TNS_ADMIN设置为:

C:\oracle\product\10.2.0\db_1\NETWORK\ADMIN
crcmnpdw

crcmnpdw2#

我通过执行以下步骤解决了问题:
1.已卸载Oracle表单和报表。
1.使用通用安装程序卸载了Oracle数据库。
1.已删除与oracle关联的所有注册表和服务。
1.已重新安装Oracle数据库。
1.已重新安装Oracle表单和报表。
1.从我的tnsnames.ora文件复制,该文件位于
C:\oracle\product\10.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)
    )
  )

效果很好。

kxe2p93d

kxe2p93d3#

根据您的Oracle_Home变量配置,请检查在安装Oracle Forms & Reports时创建的域文件夹中是否存在TNS条目。示例:C:\Oracle\中间件\Oracle主目录\用户项目\域\基本域\配置\fmwconfig\tnsnames.ora

相关问题