Jdbc AS400:处理多个模式';在连接到AS400系统时发生故障

Jdbc AS400:处理多个模式';在连接到AS400系统时发生故障,jdbc,ibm-midrange,Jdbc,Ibm Midrange,我正在使用下面的驱动程序连接到AS400系统 “jdbc:as400://system name/default schema;属性” 我需要处理多个模式 由于模式名称需要在JDBCURL中提及,我是否需要为尝试连接的每个模式打开单独的连接池 目前,有两个连接池用于指向相同DB属性的两个不同模式 有没有其他方法可以通过单个连接处理多个模式。在IBM i(as/400)上,模式通常被称为库 您可以使用单个数据库连接,并使用schema.table限定表名为默认SQL命名约定,或使用系统命名约定限定

我正在使用下面的驱动程序连接到AS400系统

“jdbc:as400://system name/default schema;属性”

我需要处理多个模式

由于模式名称需要在JDBCURL中提及,我是否需要为尝试连接的每个模式打开单独的连接池

目前,有两个连接池用于指向相同DB属性的两个不同模式


有没有其他方法可以通过单个连接处理多个模式。

在IBM i(as/400)上,模式通常被称为库

您可以使用单个数据库连接,并使用
schema.table
限定表名为默认SQL命名约定,或使用系统命名约定限定表名为
schema/table


有关更多信息,请参阅《程序员指南》一节中的“命名”属性和《指南》中的主题。

模式通常被称为IBM i(as/400)上的库

您可以使用单个数据库连接,并使用
schema.table
限定表名为默认SQL命名约定,或使用系统命名约定限定表名为
schema/table

有关详细信息,请参阅《程序员指南》一节中的“命名”属性和《指南》中的主题。

通过使用“系统命名”设置,会话可以利用每个作业具有的“库列表”属性。它是系统解析不合格对象位置时搜索的方案列表。这个概念类似于Windows或Linux中的路径概念

除了@JamesA提供的链接外,还阅读了Birgitta Hauser的两部分,以及上的SQL参考

通常认为最佳实践是使用会话(ie作业)库列表,而不是静态硬编码模式名称。我建议你遵循这种做法。虽然术语schema和library本质上是同义词,但我使用ibmi命令CHGCURLIB,而不是SET CURRENT schema,因为该命令不限制SQL关于库列表的行为。但我从Birgitta的文章中了解到,SET-CURRENT模式完全阻止了库列表的使用。当前库成为库列表(用户部分)上的第一个库。

通过使用“系统命名”设置,会话可以利用每个作业具有的“库列表”属性。它是系统解析不合格对象位置时搜索的方案列表。这个概念类似于Windows或Linux中的路径概念

除了@JamesA提供的链接外,还阅读了Birgitta Hauser的两部分,以及上的SQL参考


通常认为最佳实践是使用会话(ie作业)库列表,而不是静态硬编码模式名称。我建议你遵循这种做法。虽然术语schema和library本质上是同义词,但我使用ibmi命令CHGCURLIB,而不是SET CURRENT schema,因为该命令不限制SQL关于库列表的行为。但我从Birgitta的文章中了解到,SET-CURRENT模式完全阻止了库列表的使用。当前库成为库列表(用户部分)上的第一个库。

顺便说一句,该字符串不是您的驱动程序。它更像是连接字符串的模板。顺便说一句,该字符串不是您的驱动程序。它更像是连接字符串的模板。IBM i 7.1的最新更新允许在系统命名下使用
schema.table
符号以及OS/400样式
schema/table
。但并非所有使用7.1的人都必须是最新技术更新的最新版本。修复了工具箱JDBC属性的链接IBM i 7.1的最新更新启用了系统命名下的
模式。表
符号以及OS/400样式
模式/表
。但并不是所有使用7.1的人都需要最新的技术更新