与 DB2 for i 的 JDBC 连接 - 只有单一模式的表可用

Posted

技术标签:

【中文标题】与 DB2 for i 的 JDBC 连接 - 只有单一模式的表可用【英文标题】:JDBC connection to DB2 for i - only tables of single schema available 【发布时间】:2013-10-01 08:59:19 【问题描述】:

我遇到了这个问题,并且寻找解决方案的时间太长了。它是如此简单,我不敢相信我已经为它而苦恼了。

所以为了不让别人耽误时间,我会羞于提出解决方案。

我正在使用 JPA 的 EclipsePersistence 框架和 Eclipse 的 Dali 插件。 我的数据库是 IBM i 主机(以前称为 AS400 / i5)上的 DB2。

列表中没有所需的已获取表的架构,但它们存在。 只能解析一个单一模式的表。

覆盖 JPA 项目中的默认模式不起作用。

【问题讨论】:

与 IBM i 系统建立 JDBC 或 ODBC 连接的人会遇到此问题。 【参考方案1】:

问题是我在连接配置文件本身中指定了默认架构。所以这阻止了其他模式的表。

解决方法很简单:

打开视图Data Source Explorer 右键单击您的连接 选择Properties 在左侧选择Driver Propoerties 删除Default schema 中的条目

现在完美运行了!

【讨论】:

对于不熟悉 IBM i 环境的读者,一般认为最好的做法是避免硬编码模式(又名库)名称,而是使用“库列表”路径让系统为您解析参考文献。 当然,但是如果您倾向于从表中创建实体,这将不起作用...至少不使用 Dali 插件,这需要选择模式,而不是您看不到什么...还是我在这里遗漏了什么?

以上是关于与 DB2 for i 的 JDBC 连接 - 只有单一模式的表可用的主要内容,如果未能解决你的问题,请参考以下文章

无法创建到 Test Container for DB2 的 JDBC 连接

与 DB2 的 JDBC 连接?

与 db2 jdbc 的连接错误

与 DB2 和 jdbc 的连接?

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

Db2 for i - RUNSQLSTM - 插入包含数百万条记录的脚本