Oracle Developer's guide 10g 未连接到服务器

Posted

技术标签:

【中文标题】Oracle Developer\'s guide 10g 未连接到服务器【英文标题】:Oracle Developers guide 10g is not connecting to severOracle Developer's guide 10g 未连接到服务器 【发布时间】:2017-08-07 11:30:12 【问题描述】:

我在windows 10中安装了oracle开发者指南10g,安装成功。

连接到 Oracle EBS 主机数据库时出现错误

在连接屏幕上输入详细信息 -

用户 - 我的用户

通过 - 我的通行证

连接字符串 - myuser@SID

错误 -

ORA-12154: TNS: 无法解析指定的连接标识符

原因

指定的服务名称在 TNSNAMES.ORA 文件。 我在我的数据库主机上检查了我的 TNSNAMES.ORA 文件

我找到条目 TNSNAMES.ORA -

SID =
  (DESCRIPTION =
    (ADDRESS = (PROTOCOL = TCP)(HOST = myhost)(PORT = 1521))
    (CONNECT_DATA =
      (SERVER = DEDICATED)
      (SERVICE_NAME = SID)
    )
  )

我需要在设置文件中进行哪些更改才能正确连接。

注意 - 主机操作系统 Linux

注意-

tnsnames.ora 和 sqlnet.ora 文件存在于两个地方

1- C:\DevSuiteHome_1\NETWORK\ADMIN - 安装 oracle developer guide 10g 后创建的路径

2- E:\app\product\11.2.0\dbhome_1\NETWORK\ADMIN - 以前的oracle安装路径

这个文件位置有什么问题吗?

【问题讨论】:

您是否尝试连接 SQLPlus? 是的,它连接正确。 tnsnames.ora 必须在 client 机器上,即在您的 Windows PC 上。我不确定“oracle 开发人员指南”是什么意思,但该文件需要位于客户端应用程序所期望的位置。 我觉得这个问题会更适合Database Administrators Site @AlexPooleOracle 开发者指南正在设计用于 oracle 的工具 【参考方案1】:

我对这个问题有点困惑,但我会尽我所能回答:

你有2个tnsnames.ora,一个在db server,一个在client,你需要在client机器(安装sql developer的地方)查看tnsnames.ora,检查SERVICE_NAME 指向 Oracle Server 的正确 SSID,然后检查 HOST 是否指向正确的机器名/IP(我个人更喜欢使用 IP)。

然后在命令提示符下,尝试 tnsping(假设你有一个):

使用您发布的 tnsnames.ora,它将类似于:

C:\>tnsping.exe SID

告诉我进展如何

更新:

下面是一个例子:

Oracle Server IP: 192.168.1.220 with SID: ORCL

My Computer IP: 192.168.1.200

我的电脑中 tnsnames.ora 的内容:

块引用

BLAHSERVER= (描述= (地址列表 = (地址 = (协议 = TCP)(主机 = 192.168.1.220)(端口 = 1521)) ) (连接数据 = (SERVICE_NAME = ORCL) ) )

那么你应该能够做到以下几点:

C:\> tnsping.exe BLAHSERVER
C:\> sqlplus username/password@BLAHSERVER

【讨论】:

在我的机器和其他主机上进行 tnsping 后,我得到以下结果 - C:\Users\mymachine>tnsping mymachine 使用的参数文件:C:\DevSuiteHome_1\network\admin\sqlnet.ora联系人 (DESCRIPTION=(CONNECT_DATA=(SERVICE_NAME=my_machine_name))(ADDRESS=(PROTOCOL=TCP)(HOST=my_ip)(PORT=1521))) OK (20 ms) C:\Users\mymachine>tnsping IP.32.88 已使用参数文件:C:\DevSuiteHome_1\network\admin\sqlnet.ora 尝试联系 (DESCRIPTION=(CONNECT_DATA=(SERVICE_NAME=192.168.32.88))(ADDRESS=(PROTOCOL=TCP)(HOST=IP.32.88)(PORT= 1521)))好的(70毫秒) 听起来不错,如果你的sqlplus用户名@IP.32.88也可以,那么sql developer应该没问题,除非sql developer没有正确加载tnsnames.ora 执行命令后 - C:\Users\afgan>sqlplus APPS@IP.32.88 Enter password: ERROR: ORA-12514: TNS:listener does not now know of service requested in connect 之后会询问user_Name ,输入用户名后得到以下 Enter user-name: APPS Enter password: ERROR: ORA-12560: TNS:protocol adapter error【参考方案2】:

EBS 管理员/联系人应提供正确的 TNS 条目,您应将其添加到您的 tnsnames.ora。如果您正在尝试为 EBS 开发,我怀疑您是否需要连接到“mymachine”,这将是 EBS 实例的非标准名称。

【讨论】:

以上是关于Oracle Developer's guide 10g 未连接到服务器的主要内容,如果未能解决你的问题,请参考以下文章

Oracle的SYS_GUID() 函数

从 Oracle 的 RAW(16) 转换为 .NET 的 GUID

mysql 生成UUID() 即 ORACLE 中的guid()函数

oracle的GUID能当做修改数据的唯一标识吗

Oracle Data Integrator Installation Guide

Download Free Oracle Reports Building Guide eBook