解决Java中JDBC方式连接不了各类数据库问题

时间:2024-03-23 09:04:18

1、问题描述

某天的某个时刻出现个奇怪的问题,在确认配置无误的情况下,本地程序连不上Oracle数据库,但相同配置PLSQL是可以连上的,并且以此类推,Java开发的相关客户端:DbVisualizer 、Spoon等工具也离奇的连不上数据库;
总结:凡是通过JDBC连接都出现连接超时的情况;

2、问题原因

经过百度谷歌加翻译,终于是定位到问题:大概就是在window 7 之后的系统上,如果你的系统开启IPV6协议,那么Java很有可能就出现去获取IPV6协议这种情况,然而事实上你是没的IPV6的地址,所以就会出现这种异常情况

3、解决方案

方案1:

当然就是加配置咯,也就是Java的VM参数加上-Djava.net.preferIPv4Stack=true咯;
eg:

  1. IDEA 里修改configuration里的参数
    解决Java中JDBC方式连接不了各类数据库问题
  2. Spoon 修改启动文件spoon.bat
    解决Java中JDBC方式连接不了各类数据库问题
  3. DbVisualizer 修改 Tools–> tool properties --> General
    解决Java中JDBC方式连接不了各类数据库问题

总结

需要在Java参数配置IPV4网络偏好
 

解决方案2:

关闭IPV6网络(ps:我试了但是没啥用)