快速业务通道

跨多个数据源的J2EE开发: 细节探讨 - 编程入门网

作者 佚名技术 来源 NET编程 浏览 发布时间 2012-06-17
cation Developer 配置。我们也在相同的机器上同样按照 DB2 Information Integrator 的标准 配置过程来安装 DB2 Information Integrator。对一组 servlet,我们使用 DB2 Information Integrator 的联邦技术来处理不同的数据。对于另外一组 servlet,我们仅 将 DB2 Information Integrator 用作本地数据库存储管理器。也就是说,在我们的 servlet 手工地连接到每个必要的源并从该源检索数据以后,我们用 DB2 Information Integrator 来为我们的 servlet 存放辅助表。

跨多个数据源的J2EE开发: 细节探讨(2)

时间:2011-04-11 IBM C. M. Saracco

配置 DB2 Information Integrator

要使用 DB2 Information Integrator 的联邦功能,我们安装必备软件(按照产品手册 中的定义)来访问目标数据源。然后我们创建必要的联邦数据对象,包括每个目标数据源 的包装器、每个必需的服务器实例的服务器对象、用于远程认证的用户映射以及远程数据 的昵称。

在大多数公司中,通常由数据库管理员而不是 J2EE 程序员来完成这些工作,而且 DB2 Information Integrator 提供了一个 GUI 工具来简化这个过程。然而,我们选择编写通 过命令行处理器发出 SQL 语句的脚本。这里是一些 SQL 语句,我们发出这些 SQL 语句来 配置对 Oracle DBMS 的访问权。在脚本编制环境中,两个连字符(“--”)表示注释。

-- Create the Oracle wrapper object. CREATE WRAPPER net; -- Create the Oracle server object. -- We need to specify a previously defined wrapper object -- and identify valid account information for our Oracle database. -- We also need to specify the node where the Oracle instance is running. CREATE SERVER jaqora TYPE oracle VERSION 8 WRAPPER net8 AUTHORIZATION "demo" PASSWORD "cdidemo" OPTIONS (NODE ''iidemo2''); -- Create a user ID mapping between a valid DB2 Information Integrator -- account ("db2admin") and a valid Oracle account ("demo"). CREATE USER MAPPING FOR db2admin SERVER jaqora OPTIONS (REMOTE_AUTHID ''demo'', REMOTE_PASSWORD ''cdidemo''); -- Create a local DB2 Information Integrator nickname("ora_part") -- for a remote Oracle table ("jaqora.demo.part"). CREATE NICKNAME ora_part FOR jaqora.demo.part;

有时我们需要更改 DB2 Information Integrator 执行的缺省的数据类型映射。例如, 在缺省情况下,DB2 Information Integrator 将 Oracle 表中的数字数据映射为 DB2 DOUBLE 数据类型,但是这并不总是适合于我们的工作。更改缺省的映射很简单;我们只要 改变我们的昵称定义,如以下所示:

-- Represent the "p_partkey" column of the "ora_part" table as an integer -- locally ALTER NICKNAME ora_part altER COLUMN p_partkey LOCAL TYPE integer;

我们执行类似的语句来配置对远程 DB2 服务器和本地 Excel 电子表格(我们用 DB2 Information Integrator 的 ODBC 包装器通过 JDBC/ODBC 桥来访问它)的访问权。

最后,我们的某些查询需要使用跨我们三个数据源的昵称的 UNION ALL 视图。我们通 过从相关的昵称选择所有列并添加一个服务器属性列来创建这些视图,该服务器属性列用 来跟踪最初存放这些数据的数据源。这个添加的列帮助我们保留某些查询的正确的语义, 我们将稍后说明这一点。以下是我们的视图定义之一:

-- Create a consolidated view of PART data stored in a Excel, Oracle, and DB2 CREATE VIEW fed_part AS   SELECT db2_part.*, ''db2'

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号