从 DBeaver “com.ibm.db2.jcc.am.SqlException” 连接到 DB2 LUW 时出现连接错误

Connection Error when connecting to DB2 LUW from DBeaver "com.ibm.db2.jcc.am.SqlException"

提问人:J R 提问时间:11/16/2023 最后编辑:J R 更新时间:11/16/2023 访问量:82

问:

在此处输入图像描述

详细信息按钮下的错误消息: SqlException com.ibm.db2.jcc.am.SqlException

这是从 dbeaver 日志中收到的错误消息

2023-11-16 19:13:38.091 - SqlException
com.ibm.db2.jcc.am.SqlException
at com.ibm.db2.jcc.am.b7.a(b7.java:815)
at com.ibm.db2.jcc.am.b7.a(b7.java:66)
at com.ibm.db2.jcc.am.b7.a(b7.java:140)
at com.ibm.db2.jcc.am.Connection.completeSqlca(Connection.java:5269)
at com.ibm.db2.jcc.t4.z.q(z.java:861)
at com.ibm.db2.jcc.t4.z.n(z.java:670)
at com.ibm.db2.jcc.t4.z.a(z.java:474)
at com.ibm.db2.jcc.t4.z.a(z.java:123)
at com.ibm.db2.jcc.t4.b.c(b.java:1427)
at com.ibm.db2.jcc.t4.b.b(b.java:1298)
at com.ibm.db2.jcc.t4.b.b(b.java:849)
at com.ibm.db2.jcc.t4.b.a(b.java:820)
at com.ibm.db2.jcc.t4.b.a(b.java:441)
at com.ibm.db2.jcc.t4.b.a(b.java:414)
at com.ibm.db2.jcc.t4.b.<init>(b.java:352)
at com.ibm.db2.jcc.DB2SimpleDataSource.getConnection(DB2SimpleDataSource.java:233)
at com.ibm.db2.jcc.DB2SimpleDataSource.getConnection(DB2SimpleDataSource.java:200)
at com.ibm.db2.jcc.DB2Driver.connect(DB2Driver.java:471)
at com.ibm.db2.jcc.DB2Driver.connect(DB2Driver.java:113)
at org.jkiss.dbeaver.model.impl.jdbc.JDBCDataSource.lambda$0(JDBCDataSource.java:185)
at org.jkiss.dbeaver.model.impl.jdbc.JDBCDataSource.lambda$1(JDBCDataSource.java:204)
at org.jkiss.dbeaver.utils.SecurityManagerUtils.wrapDriverActions(SecurityManagerUtils.java:94)
at org.jkiss.dbeaver.model.impl.jdbc.JDBCDataSource.openConnection(JDBCDataSource.java:202)
at org.jkiss.dbeaver.ext.db2.model.DB2DataSource.openConnection(DB2DataSource.java:273)
at org.jkiss.dbeaver.model.impl.jdbc.JDBCExecutionContext.connect(JDBCExecutionContext.java:103)
at org.jkiss.dbeaver.model.impl.jdbc.JDBCRemoteInstance.initializeMainContext(JDBCRemoteInstance.java:100)
at org.jkiss.dbeaver.model.impl.jdbc.JDBCRemoteInstance.<init>(JDBCRemoteInstance.java:59)
at org.jkiss.dbeaver.model.impl.jdbc.JDBCDataSource.initializeRemoteInstance(JDBCDataSource.java:112)
at org.jkiss.dbeaver.model.impl.jdbc.JDBCDataSource.<init>(JDBCDataSource.java:100)
at org.jkiss.dbeaver.model.impl.jdbc.JDBCDataSource.<init>(JDBCDataSource.java:92)
at org.jkiss.dbeaver.ext.db2.model.DB2DataSource.<init>(DB2DataSource.java:128)
at org.jkiss.dbeaver.ext.db2.DB2DataSourceProvider.openDataSource(DB2DataSourceProvider.java:98)
at org.jkiss.dbeaver.registry.DataSourceDescriptor.openDataSource(DataSourceDescriptor.java:981)
at org.jkiss.dbeaver.registry.DataSourceDescriptor.connect(DataSourceDescriptor.java:918)
at org.jkiss.dbeaver.runtime.jobs.ConnectJob.run(ConnectJob.java:70)
at org.jkiss.dbeaver.model.runtime.AbstractJob.run(AbstractJob.java:105)
at org.eclipse.core.internal.jobs.Worker.run(Worker.java:63)
2023-11-16 19:13:41.437 - Service 'org.jkiss.dbeaver.runtime.ui.UIServiceSecurity' not found
2023-11-16 19:14:00.845 - Service 'org.jkiss.dbeaver.runtime.ui.UIServiceSecurity' not found

尝试连接时出现sql异常错误。

在这里发布之前我已经检查过的事情

  • 重新安装了Java SE
  • 重新安装了Java JDK 21
  • 已安装 IBM Data Server Driver Package(DS 驱动程序)
  • 重新安装了 DBeaver
  • 已重新安装 DB2
  • 已检查服务文件中的端口号
dbeaver db2-luw

评论

0赞 mao 11/16/2023
单击 sql-exception 上的“详细信息”按钮,然后将完整的未经编辑的异常详细信息以纯文本(而不是图像)的形式复制/粘贴到您的问题中。不要添加包含新事实的评论,因为评论是不可搜索的。
0赞 J R 11/16/2023
它只显示 SqlException com.ibm.db2.jcc.am.SqlException 以外的任何内容。我已经在问题中更新了它。
0赞 mao 11/16/2023
您如何验证 Db2 服务器是否已启动并侦听端口 25000(通常为 50000 是缺省值)?Db2-registry 变量DB2COMM值必须包括 TCPIP,并且在设置此变量后必须重新启动 Db2-server。Microsoft Windows 防火墙需要具有入站和出站规则,以允许 Db2-server 正在侦听的指定端口上的流量。这些都是基本的东西,都在在线文档页面中解释。
0赞 J R 11/16/2023
我使用 C:\WINDOWS\system32\drivers\etc\services 验证了我的端口号是 25000。在此文本文件中,它在最底部显示以下行:db2c_DB2 25000/tcp
0赞 mustaccio 11/17/2023
该文件确定 Db2 使用的端口;实例配置确实如此,因此请检查一下。services

答: 暂无答案