The Network Adapter could not establish the connection解决办法

  今天上午在本地机器安装Oracle Data Integrator,连接远程数据库时,总是报错:The Network Adapter could not establish the connection,这本是一种很常见的错误,但是错误原因却很特别,本人花了将近一天的时间才查出原因,记录如下,愿给遇到相同烦恼的朋友一个帮助。

  网上查阅了很多资料,出现这种错误一般有防火墙未关闭,远程数据库监听没起来,连接串有问题,hosts文件配置等原因。

 本文环境下防火墙关闭了,远程监听也起来了,连接串如下:
 jdbc:oracle:thin:@(DESCRIPTION=(LOAD_BALANCE=on)(ADDRESS=(PROTOCOL=TCP)(HOST=750A)(PORT=1521))(ADDRESS=(PROTOCOL=TCP)(HOST=750B)(PORT=1521))(CONNECT_DATA=(SERVICE_NAME=PLANNING)(FAILOVER_MODE=(TYPE=SELECT)(METHOD=BASIC)(RETRIES=180)(DELAY=5))))


 经反复检查也没问题,hosts文件中也添加了750A,750B对应的IP地址
 在本地用SQLPLUS 可以正常连接远程数据库,使用PLSQL Developer也可正常访问,使用CMD 直接ping 750A也能PING通,后检查发现hosts文件中有这么一行
 10.68.17.15 750A
 10.68.17.17 750B

 我怀疑是因为IP地址后直接跟了数字750,导致ODI误以为750也是IP地址的一部分,从而错误的解析了hosts文件,于是我在750A与750B前分别添加字母P,连接串也做了相应更改,然后再测试,连接终于成功!
 
 
前面使用CMD 直接ping 750A也能PING通,说明CMD能正常解析hosts文件,但是ODI却不能解析,说明ODI的解析能力还有待加强或者要求更严格。

请使用浏览器的分享功能分享到微信等