我正在尝试连接到 Java 中的 db2 数据库。在我提供的驱动程序和连接字符串以及驱动程序详细信息下方
Class.forName("COM.ibm.db2.jdbc.net.DB2Driver");
String url="jdbc:db2://hostname:portnumber/databasename";
sourceConnection=DriverManager.getConnection(url,"username","password");
但我得到以下异常
"COM.ibm.db2.jdbc.DB2Exception: [IBM][JDBC Driver] CLI0615E Error receiving from socket, server is not responding. SQLSTATE=08S01"
我还尝试将连接字符串更改为 String url="jdbc:db2:hostname:portnumber/databasename";
在尝试获取连接时仍然会导致上述相同的异常。
而且我还使用 JDBC 应用程序驱动程序尝试了以下选项
Class.forName("COM.ibm.db2.jdbc.app.DB2Driver");
DB2DataSource db2ds = new DB2DataSource();
db2ds.setServerName("hostname");
db2ds.setPortNumber(portnumber);
db2ds.setDatabaseName("databasename");
db2ds.setUser("username");
db2ds.setPassword("password");
sourceConnection=db2ds.getConnection();
对于上述两个连接,我使用了 jar “db2java.jar”
我已经尝试使用 JCC 驱动程序:
Class.forName("com.ibm.db2.jcc.DB2Driver");
String url="jdbc:db2://hostname:portnumber/databasename";
sourceConnection=DriverManager.getConnection(url,"username","password");
对于这个连接,我添加了以下罐子 1)db2jcc.jar 2)db2jcc_license_cu.jar
这次我收到以下错误,
"com.ibm.db2.jcc.am.go: [jcc][t4][201][11237][3.57.82] Connection authorization failure occurred.
Reason: Security mechanism not supported. ERRORCODE=-4214, SQLSTATE=28000"
我尝试使用“Quest for DB2”工具连接到相同的 db2 源,并且连接成功。
我是否遗漏了代码中的某些内容,是 DB2 驱动程序或连接字符串有问题吗?
有人可以指导我。
提前致谢。