Eclipse开发环境JDBC无法连接Oracle数据库处理

Eclipse开发环境JDBC无法连接Oracle数据库处理

一、背景

某项目开发需要在本地使用VPN连接Oracle数据库,在使用Eclipse调试时,无法连接Oracle数据库,报错信息“The Network Adapter could not establish the connection"
Eclipse开发环境JDBC无法连接Oracle数据库处理_第1张图片

二、排查过程

1、根据报错信息,第一时间想到是否为网络故障,遂通过Telnet工具测试发现1521端口连接正常。

2、使用PLSQL客户端连接数据库正常

3、使用Oracle官方工具SQL Developer连接失败

4、使用12c jdbc驱动替换开发环境,连接依然失败

5、检查数据库服务器hosts文件,ip与主机名的解析正常

三、处理方法

经过前面几次测试,凡是使用jdbc连接方式均无法连接,而plsql使用的是Oracle OCI加载则无问题,猜测是否是使用了网络存在限制,遂查阅资料。
1、在国外的案例中,使用了思科的设备之后,开发环境无法连接
Eclipse开发环境JDBC无法连接Oracle数据库处理_第2张图片

2、查看服务器网卡信息发现IPV6为开启状态
Eclipse开发环境JDBC无法连接Oracle数据库处理_第3张图片

3、在eclipse开发工具上添加参数
windows -> perference
-Djava.net.preferIPv4Stack=true
Eclipse开发环境JDBC无法连接Oracle数据库处理_第4张图片

开发环境可以连接Oracle数据库,故障解决。

四、总结

1、此次案例是由于使用了VPN设备(深信服),导致连接故障,在查阅Oracle DOC之后,发现在操作系统如果有IPV6环境,应用程序会使用IPV6进行连接。如果只希望应用使用ipv4必须指定修改参数为“ -Djava.net.preferIPv4Stack=true”
在这里插入图片描述

2、由于使用的加密连接,wireshark无法在网络抓包中获取具体信息,也缺少相关资料,并不能再对网络进行分析,故项目中如遇此案例,可参考此方法进行处理。

附Oracle doc文档:

https://docs.oracle.com/javase/7/docs/api/java/net/doc-files/net-properties.html

你可能感兴趣的:(案例)