连接到 db2 7.1 as400 的 jdbc 驱动程序

Posted

技术标签:

【中文标题】连接到 db2 7.1 as400 的 jdbc 驱动程序【英文标题】:jdbc driver to connect to db2 7.1 as400 【发布时间】:2017-08-02 01:58:21 【问题描述】:

我需要使用 sqldeveloper 和使用 jdbc 驱动程序的 oracle 数据集成器连接到 db2 7.1 as400 系统。

我下载了 db2cc.jar、db2cc_license_cisuz.jar..jt400.jar、db2java.jar。

连接显示成功并且似乎已连接,但是在运行任何查询或浏览任何表时,每次我遇到以下错误:

SQLCODE=-805, SQLSTATE=51002, SQLERRMC=NULLID.SYSLH200;00;S0681e7r ,DRIVER=3.59.81

【问题讨论】:

【参考方案1】:

看起来您这里有几个不同且相互竞争的驱动程序:

jt400.jar - 这是 IBM i 上用于 DB2 的 IBM jdbc 驱动程序。最新的驱动程序可以在jt400.sourceforge.net找到 db2jcc.jar、db2jcc_license_cisuz.jar - 这是用于 DB2 Linux、Unix 和 Windows 的 IBM jdbc 驱动程序。 db2java.jar - 这是 Oracle DB2 驱动程序,可能适用于 Linux、Unix 和 Windows,因为 Oracle 网站说使用此驱动程序或 db2jcc.jar and db2jcc_license_cisuz.jar,但不能同时使用。

我相信您的问题是您尝试使用 LUW 驱动程序访问 IBM i 上的 DB2。这行不通。以上驱动中,只有jt400.jar适用。从您的类路径中删除其他人,然后尝试访问数据库。

【讨论】:

LUW 驱动程序应该可以连接到 IBM i。但是,如果您的系统配置为当前用户对 IBM i 上的 NULLID 库没有 *CHANGE 权限,那么系统将无法自动创建 LUW 驱动程序所需的包。通过从 NULLID 库中删除 *PUBLIC *CHANGE 权限,我能够在 IBM i 系统上产生相同的错误。通过将用户对 NULLID 库的权限更改为 *CHANGE,我能够在 NULLID 库中创建要创建的包。 @jweb 如果您有 DB2 Connect【参考方案2】:

请您的 DB2 支持人员或 DBA 确保 db2clipkg.bnd 已针对您的环境进行了适当的绑定(或重新绑定) - 使用 db2jdbcbind。更多信息IBM-doclink

【讨论】:

感谢您的指点将检查那些与 dba ............添加我的问题与此 url 中提到的完全相同......dbt2 版本是 7.1 as400 community.oracle.com/message/13749695#13749695 最后 ...jt400.jar 很好....可以使用 squirell 和 oracle 数据集成器连接,只有 sqldeveloper 无法连接

以上是关于连接到 db2 7.1 as400 的 jdbc 驱动程序的主要内容,如果未能解决你的问题,请参考以下文章

将 PHP 连接到 IBM i (AS/400)

Cognos 10.2.2 as400 iSeries DB2 jdbc 连接

spring-boot jdbc 到 db2 的连接获取读取超时

通过 JDBC 连接到远程 db2 数据库失败

在 Shell 脚本中通过 JDBC 连接到 DB2

IBM iSeries / AS 400中的DB2连接字符串