marty lurie
【程序编程相关:学习如何用 Jython 编写 DB2 】ibm it 专家, waltham, ma 【推荐阅读:操作 DB2 Universal Dat】
我们将侧重讨论一个使用 ibm db2® information integrator™(db2 ii)的案例研究.这些示例旨在开拓您的思路,并非演示一个推荐的生产环境.引言 【扩展信息:使用绑定 DB2 数据表的 Delphi】
2003 年 7 月 通过提供多服务器的单一视图,联邦数据库提高了效率.如我们在本文的 第 1 部分中所见,这不但简化了数据访问,而且联邦服务器可以非常有效地跨不同的数据库进行连接(join)与优化.为了让第 2 部分有趣,我们将侧重讨论一个使用 ibm db2® information integrator™(db2 ii)的案例研究.这些示例旨在开拓您的思路,而不是为了演示一个推荐的生产环境.因为我发现案例研究比抽象概念更加容易“铭刻在心”.我们的难题是:我们的数据分布在多个服务器上,如图 1 所示:
图 1. 分布于多个数据源上的营销活动邮件列表数据
如果您选择接受任务,那么您的任务就是:
为营销活动创建邮件列表.此次营销活动的数据分布在多个数据源上.表 1 中特别列出了必需的数据源:
表 1. 邮件列表的数据源 内容 数据源 “勿发邮件”列表 oracle 9i 高价值客户 excel® 电子表格 客户名单,记录系统 informix® xps 客户信用等级 informix ids您必须创建的营销活动根据信用等级.产生“高价值”客户的前期购物历史记录以及购买到的营销数据来提供不同的奖励.
销售列表必须以 xml 流的格式存在,并通过持久消息队列发送给营销活动的生产公司.
本案例研究的解决方案涉及以下步骤:
设置与测试数据源 开发实现营销活动的 sql 将查询结果处理成 xml,并对 xml 流进行排队以便它可以由任何队列客户机读取.正如在本文的第 1 部分中承诺的那样,这个案例研究的解决方案包括联邦插入.根据联邦连接得到的 xml 以及 xml 与 websphere® mq.
当我的编辑看到这道难题时,她说:“您想把它放到第 2 部分里?”现在,您看到了.
首先,来自赞助方的几句话:db2 information integrator 发布
db2 information integrator 产品是在 2003 年 5 月 20 日发布的.这是 发布函,如果您自己没有找到它的话,这里有一段摘录: “ibm db2 information integrator v8.1 代表了下一代信息集成软件,它为 e-business on demand™ 提供了基础支柱.对变化的快速响应意味着商家不仅可以在企业中,而且可以在它的价值链中快速轻松地关联信息.db2 information integrator 使公司可以在企业的内外对业务信息进行集成的.实时的访问.这样的信息可能位于各种数据源系统(如 oracle 数据库.microsoft® 电子表格.平面文件)中,并且分布于各种操作环境(如 windows®.linux.unix®.z/os®)中.”与其花费很多时间来描述这些特征,不如让我们言归正传,来 使用这些特征吧.
为本案例研究设置数据源
在第 1 部分中,我们设置了 informix 数据源,所以这里我就不再重复了.请参阅设置 informix 数据源的 那些指导.如果您喜欢使用命令行,而不是可用鼠标点击的界面,那么请参阅本文第 1 部分的 附录.在本节中,我将描述:
对于“勿发邮件”列表,设置并使用 oracle 数据源 对于销售信息,设置并使用 excel 数据源 奖励的时候:设置并使用 odbc 数据源 简短总结一下在 informix 中如何创建客户表与信用表(请参阅第 1 部分以了解更多详细说明).设置并使用 oracle 数据源
从本文的第 1 部分我们知道,db2 information integrator 服务器对于远程服务器来说,就象一个运行查询的常规客户程序.为准备本案例研究我们需要的联邦环境包括设置一系列的远程数据源.别让我们被复杂性吓倒;db2 information integrator 服务器可以与单个的远程数据源一样简单,其中用 db2 information integrator 作为数据访问网关.设置数据源的步骤如下: 建立客户机连接. 配置 db2dj.ini 文件并设置 oracle_home 环境变量. 创建包装器. 创建服务器. 创建用户映射. 创建表昵称.在构建了这个数据源之后,您将看到一个基于第 1 部分中两个先前示例与本示例的模式,而且如果给定所需的包装器,那么还应该能够配置联邦来访问任何数据源.
本节的内容虽然没有好到使您可以不必再去阅读优秀的文档,但我还是将尽力突出重点.关于“信息集成”,现在有一本红皮书,请参阅: getting started on integrating your information.
步骤 1:建立客户机连接
在 db2 information integrator 服务器上安装 oracle 客户机 sdk 相当容易.关键的一步是验证连接工作正常! 图 2显示了配置屏幕,这个配置屏幕还提供了一个简单的功能测试,用来测试到远程 oracle 服务器的连接.
图 2 中突出显示的名称“foo”是一个节点名,对于在 information integrator 中定义配置以访问远程 oracle 服务器来说,这个节点名是必需的.
图 2. 测试到 oracle 服务器的连接
步骤 2:配置 db2dj.ini 文件
通过在安装了 oracle 客户机之后再安装 db2 information integrator(我用的是在发布之前的第三个也是最后一个 beta 发行版),安装程序能够自动检测客户机代码的位置,并在 db2dj.ini 文件中自动添加所需的 oracle_home 节.清单 1 显示了 db2dj.ini 文件的 windows 示例:
清单 1. db2dj.ini 文件包含了 oracle 客户机的位置以及 第 1 部分中的 informix 参数.... 下一页