AS400:连接到AS400系统时处理多个模式

时间:2013-09-25 03:00:49

标签: jdbc ibm-midrange

我使用以下驱动程序连接到AS400系统。

“JDBC:AS400://系统名称/默认模式;属性”

我有一个要求,我必须处理多个架构。

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

目前我有两个连接池用于指向相同数据库属性的两个不同架构。

有没有其他方法可以通过单一连接处理多个架构。

2 个答案:

答案 0 :(得分:3)

架构通常被称为IBM i(AS / 400)上的库。

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

有关详细信息,请参阅IBM Toolbox for Java JDBC properties程序员指南的Toolbox部分中的“命名”属性和SQL and system naming conventions指南中的SQL Programming主题。

答案 1 :(得分:1)

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

除了@JamesA提供的链接外,还请阅读Birgitta Hauser的两部分articleunqualified names的SQL参考。

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