如果要将 DB2® z/OS® 版用作 UDDI 注册中心数据的数据库存储,请完成本任务。
开始之前
要从运行分布式操作系统的机器连接到 z/OS 操作系统上的远程 DB2 数据库,您必须具有 DB2 版本 8.2 或更高版本。还必须具有 DB2 Connect™ 许可证(请参阅 DB2 文档,以了解更多信息)。
如果要创建远程数据库,请先参阅数据库产品文档,以了解产品的相关功能。
关于此任务
在设置和部署 UDDI 注册中心的过程中,针对每个 UDDI 注册中心完成一次本任务。
对于 DB2 zSeries 版版本 7,存在一些已知限制:
- 发布和查询字符串限于 255 个字符。有关更多信息,请参阅有关 UDDI 注册中心客户机编程的主题。
- 当 UDDI 查询请求使用了包含复杂 Unicode 字符的 discoveryURL 时,该请求可能无法返回期望的实体。如果使用此版本的 DB2,请避免在
discoveryURL 元素中使用 Unicode 字符。
过程
- 将 app_server_root/UDDIReg/rexx 中提供的 createddl.sh 脚本复制到选择的临时目录中。
- 通过使用 UNIX 系统服务 (USS) 命令提示符,编辑 createddl.sh 脚本的副本,如下所示:
- 搜索文本 Define some constants。
- 如果 WebSphere® Application Server 未安装到缺省位置,请更新 root_dir 常量以反映此位置。UDDIReg 目录必须保留在路径的末尾。
- 如果不想使用缺省临时目录,请更新 temp_dir 常量以指定所需临时目录。
- 通过使用 USS 命令提示符来输入以下命令,运行 createddl.sh 脚本的副本:
createddl.sh database_name tablespace_name hlq
参数如下:- database_name
- 定义必需的 DB2 表和其他组件时将使用的名称。缺省值为 UDDI30。
- tablespace_name
- 用来定义数据库表的表空间。缺省值为 UDDI30TS。
- hlq
- 用来创建 SQL 和作业控制语言 (JCL) 分区数据集 (PDS) 的高级限定符。缺省值为 IBMUSER。
该脚本生成了 hlq.UDDI.SQL 和 hlq.UDDI.JCL 分区数据集,其中包含后续步骤所需的成员。如果使用缺省参数成功运行了该脚本,那么结果为如下输出:
database.tablespace = UDDI30.UDDI30TS
HLQ = IBMUSER
( 14) /WebSphere/V8R0M0/AppServer/UDDIReg/databaseScripts/uddi30crt_10_prereq_db2.sql
( 436) /WebSphere/V8R0M0/AppServer/UDDIReg/databaseScripts/uddi30crt_20_tables_generic.sql
( 136) /WebSphere/V8R0M0/AppServer/UDDIReg/databaseScripts/uddi30crt_25_tables_db2udb.sql
( 452) /WebSphere/V8R0M0/AppServer/UDDIReg/databaseScripts/uddi30crt_30_constraints_generic.sql
( 14) /WebSphere/V8R0M0/AppServer/UDDIReg/databaseScripts/uddi30crt_35_constraints_db2udb.sql
( 559) /WebSphere/V8R0M0/AppServer/UDDIReg/databaseScripts/uddi30crt_40_views_generic.sql
( 94) /WebSphere/V8R0M0/AppServer/UDDIReg/databaseScripts/uddi30crt_45_views_db2udb.sql
( 329) /WebSphere/V8R0M0/AppServer/UDDIReg/databaseScripts/uddi30crt_50_triggers_db2udb.sql
( 16) /WebSphere/V8R0M0/AppServer/UDDIReg/databaseScripts/uddi30crt_60_insert_initial_static_
data.sql
( 39) /WebSphere/V8R0M0/AppServer/UDDIReg/databaseScripts/uddi30crt_70_insert_default_database_
indicator.sql
Conversion complete
/tmp/udditmp/makedb71.jcl ===> IBMUSER.UDDI.JCL(MAKEDB71)
/tmp/udditmp/makedb81.jcl ===> IBMUSER.UDDI.JCL(MAKEDB81)
/tmp/udditmp/table.sql ===> IBMUSER.UDDI.SQL(TABLE)
/tmp/udditmp/table7.sql ===> IBMUSER.UDDI.SQL(TABLE7)
/tmp/udditmp/index.sql ===> IBMUSER.UDDI.SQL(INDEX)
/tmp/udditmp/view.sql ===> IBMUSER.UDDI.SQL(VIEW)
/tmp/udditmp/trigger.sql ===> IBMUSER.UDDI.SQL(TRIGGER)
/tmp/udditmp/alter.sql ===> IBMUSER.UDDI.SQL(ALTER)
/tmp/udditmp/initial.sql ===> IBMUSER.UDDI.SQL(INITIAL)
/tmp/udditmp/insert.sql ===> IBMUSER.UDDI.SQL(INSERT)
- 根据 DB2 安装以及是需要缺省还是定制的 UDDI 节点,修改相应 MAKEDB 成员中的模板。 JCL 库中有两个样本作业用于创建 DB2 数据库;一个适用于 DB2 版本 7 而另一个适用于 DB2 版本 8。这些作业的 JCL 脚本可以分别位于 hlq.UDDI.JCL 分区数据集中的成员 MAKEDB71 和 MAKEDB81 中。这些 JCL 脚本是您可以修改的模板。
- 如果需要,您可以添加或修改作业记帐信息。
- 如果在上一步中运行脚本时使用了不同于缺省值的另一个高级限定符,请确保所有出现的 IBMUSER 都更改为指定的限定符。
- 如果不需要数据库用作缺省 UDDI 节点,那么注释掉指定了 SQL PDS 的 INSERT 成员的作业行;此行通常是作业的最后一行。
- 确保所有出现的 LIB 参数都正确地反映了 DB2 的安装目录。
- 使用时间共享选项 (TSO) 来提交在前一步骤中修改的作业。该作业会创建 DB2 数据库。
下一步做什么
继续设置和部署 UDDI 注册中心节点。