JDBC DB2无法连接(SQLSTATE = 08S01)

时间:2013-02-13 09:41:47

标签: java oracle jdbc db2

我想使用JDBC出于某种原因连接Oracle和DB2数据库。在主类中,当我尝试连接Oracle时,Connection是成功的但是DB2连接没有成功给出这个错误:“Yuva acilirken hata olustu”意味着“套接字无法打开”。可能是什么问题??? Oracle可以工作,但DB2不起作用。我一次又一次地检查了DB2的所有密码,用户名,主机名和端口。

COM.ibm.db2.jdbc.DB2Exception: [IBM][JDBC Driver] CLI0616E  Yuva açılırken hata oluştu. SQLSTATE=08S01
at COM.ibm.db2.jdbc.net.SQLExceptionGenerator.socketException(Unknown Source)
at COM.ibm.db2.jdbc.net.DB2Connection.create(Unknown Source)
at COM.ibm.db2.jdbc.net.DB2Connection.<init>(Unknown Source)
at COM.ibm.db2.jdbc.net.DB2Driver.connect(Unknown Source)
at java.sql.DriverManager.getConnection(DriverManager.java:590)
at java.sql.DriverManager.getConnection(DriverManager.java:232)

要获得连接,我在main中写这些,

connORA = DirectConnection.getOracleConnection();
connDB2 = DirectConnection.getDB2Connection();

My Connection Class我定义了Oracle COnnection和DB2连接如下:(可能DB2连接方法存在问题?Oracle连接成功)

  public static Connection getOracleConnection() throws SQLException, ClassNotFoundException{
  return getConnection("oracle.jdbc.driver.OracleDriver", "jdbc:oracle:thin:@host:port:name", "username", "password");}

  public static Connection getDB2Connection() throws SQLException{
  return getConnection("COM.ibm.db2.jdbc.net.DB2Driver", "jdbc:db2://host:port:name","username", "password");}

2 个答案:

答案 0 :(得分:1)

首先,正如@ ThePhantom05所提到的,你应该使用JCC驱动程序,而不是旧的网络驱动程序。 DB2 JDBC连接的正确URL模式为jdbc:db2://host:port/database_name

答案 1 :(得分:0)

尝试使用此作为您的驱动程序:

String driver =“com.ibm.db2.jcc.DB2Driver”;