Centos 7 + Oracle 12c 驱动连接失败
Centos7 + Oracle12c driver fails to get connection
Centos7 和用于 Oracle 连接的 ojdbc6 驱动程序似乎有问题。连接挂起或失败导致超时。以下是我可以导出的最简单的程序来说明这个问题:
import java.sql.*;
public class Test{
public static void main(String[] args){
try{
Class.forName("oracle.jdbc.OracleDriver"):
}catch(ClassNotFoundException e){System.out.println(e);}
Connection conn = null;
try{
conn = DriverManager.getConnection(...);
}catch(SQLException e){System.out.println(e);}
}
}
奇怪的是这段代码在 Centos6 上执行得很好。
我认为 JDBC 驱动程序不依赖于操作系统。但是,对于您遇到的问题,您可以尝试像这样设置 JVM 属性:
-Djava.security.egd=file:///dev/urandom
请参考本期Oracle JDBC intermittent Connection Issue。
关于连接超时的问题和它与服务器随机性的关系在那里有详细的提及。
Centos7 和用于 Oracle 连接的 ojdbc6 驱动程序似乎有问题。连接挂起或失败导致超时。以下是我可以导出的最简单的程序来说明这个问题:
import java.sql.*;
public class Test{
public static void main(String[] args){
try{
Class.forName("oracle.jdbc.OracleDriver"):
}catch(ClassNotFoundException e){System.out.println(e);}
Connection conn = null;
try{
conn = DriverManager.getConnection(...);
}catch(SQLException e){System.out.println(e);}
}
}
奇怪的是这段代码在 Centos6 上执行得很好。
我认为 JDBC 驱动程序不依赖于操作系统。但是,对于您遇到的问题,您可以尝试像这样设置 JVM 属性:
-Djava.security.egd=file:///dev/urandom
请参考本期Oracle JDBC intermittent Connection Issue。
关于连接超时的问题和它与服务器随机性的关系在那里有详细的提及。