1. 问题情况 一位开发人员,在windows环境上新增ORACLE客户端,配置好tnsnames.ora后,准备连接Linux环境的ORACLE数据库,用tnsping测试报TNS-03505:无法解析名称 错误,请求解决。 2. tnsnames.ora文件配置内容 # TNSNAMES.ORA Network Configuration File

1. 问题情况

一位开发人员,在windows环境上新增ORACLE客户端,配置好“tnsnames.ora”后,准备连接Linux环境的ORACLE数据库,用tnsping测试报TNS-03505:无法解析名称 错误,请求解决。

2. “tnsnames.ora”文件配置内容

# TNSNAMES.ORA Network Configuration File: $ORACLE_HOME\NETWORK\ADMIN\tnsnames.ora

# Generated by Oracle configuration tools.

SINGLE =

(DESCRIPTION =

(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.1.150)(PORT = 1521))

(CONNECT_DATA =

(SERVER = DEDICATED)

(SID = single)

)

)

检查上述配置内容,连接串配置是没有问题的。

3. 分析问题

(1) 首先ping 192.168.1.150,是通的

(2) 然后telnet 192.168.1.150 1521,也是通的

(3) 在服务器本机(192.168.1.150)上tnsping single,也是通的

(4) 这时怀疑“tnsnames.ora”文件是不是有问题,下面是文件图标

b912d76204ed546b4ce85d739d73ba5e.png

发现sqlnet.ora文件和“tnsnames.ora”文件图标竟然有差异,估计是不因为该文件是手动创建的,因为OS上没有显示文件扩展名,实际上名称是一个tnsnames.ora.txt的记事本文件

(5) 确认文件是不是一个tnsnames.ora.txt文件

在windows上显示文件的扩展名称,果然如此,截图如上:

2955c1f930fdeb68f83d2edbb71640b5.png

4. 解决处理

在显示文件扩展名称的方式下,去除tnsnames.ora.txt文件的.txt后缀,再次在客户机上tnsping single,成功。

声明:本文原创发布php中文网,转载请注明出处,感谢您的尊重!如有疑问,请联系admin@php.cn处理

Logo

更多推荐