1、问题描述
某天的某个时刻出现个奇怪的问题,在确认配置无误的情况下,本地程序连不上Oracle数据库,但相同配置PLSQL是可以连上的,并且以此类推,Java开发的相关客户端:DbVisualizer 、Spoon等工具也离奇的连不上数据库;
总结:凡是通过JDBC连接都出现连接超时的情况;
2、问题原因
经过百度谷歌加翻译,终于是定位到问题:大概就是在window 7 之后的系统上,如果你的系统开启IPV6协议,那么Java很有可能就出现去获取IPV6协议这种情况,然而事实上你是没的IPV6的地址,所以就会出现这种异常情况
3、解决方案
方案1:
当然就是加配置咯,也就是Java的VM参数加上-Djava.net.preferIPv4Stack=true
咯;
eg:
- IDEA 里修改configuration里的参数
- Spoon 修改启动文件spoon.bat
- DbVisualizer 修改 Tools–> tool properties --> General
总结
需要在Java参数配置IPV4网络偏好
解决方案2:
关闭IPV6网络(ps:我试了但是没啥用)