繁体   English   中英

使用 JDBC 在 Java 中连接到 DB2 时出现异常

[英]Exception while connecting to DB2 in java using JDBC

我正在尝试连接到 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");

对于这个连接,我添加了以下 jars 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 驱动程序或连接字符串的问题吗?

有人可以指导我。

提前致谢。

原因:

如果运行 InfoSphere Optim Performance Manager 的 DB2® 实例将身份验证配置参数设置为 DATA_ENCRYPT,那么您无法登录到 Web 控制台。

解决问题:

执行以下步骤:

  1. 在运行 Optim Performance Manager 的 DB2 实例上,通过发出以下命令将身份验证配置参数设置为 SERVER:

    db2 update dbm cfg using authentication server

  2. 重新启动 DB2 实例和 InfoSphere Optim Performance Manager。

欲了解更多详情,请访问此处

您的前两次尝试不应该起作用。 您使用的是 JCC 驱动程序 URL 格式,因此它对“net”或“app”驱动程序均无效,无论如何它们都已弃用。

使用 JCC 驱动程序 (com.ibm.db2.jcc.DB2Driver) 和 URL 格式“jdbc:db2://hostname:portnumber/databasename”,请参阅此技术说明以获取“不支持安全机制”问题的解决方案。 简而言之,您需要使用受支持的 JDK。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM