#db2 catalog database test1 as demo1 at node node1
通过运行终止命令刷新上面的目录设置。
#db2 terminate
参阅:
关于catalog TCP/IP node:
关于catalog database:
(2)测试到DB2服务器的连接
在配置region和DB2之前,可以测试 DB2服务器和客户端的所有设置是否是有效的。下面通过DB2客户端连接服务器,并查看表student是否存在。
#db2 connect to demo1 user cics using passw0rd
#db2 list tables for schema db2inst1
如果一切正常,将看到下列响应:
Table/View Schema Type Creation time
——————————- ————— —– ————————–
STUDENT DB2INST1 T 2014-11-21-16.41.44.144932
1 record(s) selected.
(3)TXSeries region配置
本步骤中将创建一个region,添加XAD和环境变量,并准备switch load file来保证region能够使用XA协议进行连接。
a. 创建一个名为DB2的region
#cicscp -v create region DB2
b. 准备switch load file
TXSeries提供了两个switch load file,包括一阶段提交(cics1pcdb2)和两阶段提交(cicsxadb2)。将它们复制到region的bin目录下。
#cp /opt/ibm/cics/bin/cicsxadb2 /var/cics_regions/DB2/bin
#cp /opt/ibm/cics/bin/cics1pcdb2 /var/cics_regions/DB2/bin
除了使用TXSeries提供的文件,也可以自己编译switch load file。
c. 添加32位共享对象
之前提到过,当使用XA协议连接时,TXSeries提供的switch load file需要32位共享对象。在本部分示例中,需要libaudit.so.0和libpam.so.0,因为客户端机器是64位的。从一个32位系统复制文件/lib/libaudit.so.0.0.0和/lib/libpam.so.0.83.1,并如下做两个符号链接:
ln -s /lib/libaudit.so.0.0.0 /lib/libaudit.so.0
ln -s /lib/libpam.so.0.83.1 /lib/libpam.so.0
也可以安装 pam和audit的32位rpm包。
d. region环境配置(使用一阶段提交)
#vi /var/cics_regions/DB2/environment
添加如下指定服务器实例名称的变量对。
DB2INSTANCE=db2inst1
e. 添加XAD
注意,这个XAD中的XAOpen字符串不同于MQ中的——DB是远程数据库名称或者别名,UID是有权限连接数据库的用户名称,PWD是这个用户的密码。对于SwitchLoadFile属性,可以随意使用一阶段提交或两阶段提交。
例如一阶段提交:
#cicsadd -c xad -r DB2 DB2XAD ResourceDescription=”XA connect to DB2″
XAOpen=”DB=demo1,UID=cics,PWD=passw0rd” SwitchLoadFile=”cics1pcdb2″
两阶段提交:
#cicsadd -c xad -r DB2 DB2XAD ResourceDescription=”XA connect to DB2″
XAOpen=”DB=demo1,UID=cics,PWD=passw0rd” SwitchLoadFile=”cicsxadb2″
参阅:
f. 冷启动region
#cicscp -v start region DB2 StartType=cold
在执行这条命令后,region将自动连接到指定的数据库。查看region中最新的console.nnnnnn文件,如果其中有如下所示的消息,恭喜,你的region已经成功地连接到数据库。
ERZ080088I/0801 11/26/14 04:11:23.258039000 DB2 25407/0001 : XA OPEN submitted for Server 104 connected to ‘DB2 for LINUX’ using XA_OPEN string ‘DB=demo1,UID=cics,PWD=######’
ERZ080006I/0801 11/26/14 04:11:23.356102000 DB2 25407/0001 : XA_OPEN succeeded: Application Server 104 connected to ‘DB2 for LINUX’ using XA_OPEN string
‘DB=demo1,UID=cics,PWD=######’
ERZ080089I/0801 11/26/14 04:11:23.356183000 DB2 25407/0001 : XA OPEN completed for Server 104 connected to ‘DB2 for LINUX’ using XA_OPEN string ‘DB=demo1,UID=cics,PWD=######’
(4)编译应用程序并添加PD和TD
从Unit 3/Part4 DB2目录复制所有的文件到region的bin目录中。总共有三个文件:包含嵌入式SQL命令的应用程序源代码db2test.sqc文件; 会将db2test.sqc预编译为C代码,修改后缀为”.ccs“,然后使用”cicstcl“去编译应用程序的db2test.mk文件; 包含编译和连接选项的env_c.def文件。
a. 编辑文件
在编译前,env_c.def中的一些编译和连接选项的路径可能需要根据实际环境进行修改。另外,注意db2test.sqc中的下列变量:
DATABASE=<database local alias>
SCHEMA=<schema of database on server>
DB2DIR=<db2 installation directory>
USER=<user name>
PASSWORD=<password>
在本部分的示例中,变量值应该是:
DATABASE=demo1
SCHEMA=db2inst1
DB2DIR=/opt/ibm/db2/V10.5
USER=cics
PASSWORD=passw0rd
b. 编译应用程序
#make -f db2test.mk
c. 添加PD和TD
#cicsadd -cpd -r DB2 -B db2test PathName=db2test RSLKey=public
#cicsadd -ctd -r DB2 -B DB21 ProgName=db2test
到目前为止,已经完成了客户端的配置。请用户查看一下应用程序是否运行良好。
7. 故障排除
(1)/opt/ibm/db2/V10.5路径下没有include目录或者include目录只包含一个文件
在安装DB2服务器或客户端时,选择了”典型的”或”压缩的”安装类型。这些文件对于开发应用程序是非常重要的。所以,用户可以从相似的环境中复制这个目录或者使用”自定义”类型重新安装DB2。请仔细阅读卸载指导。
参阅:
(2)通过DB2客户端连接DB2服务器失败并收到下列消息:
SQL30081N A communication error has been detected. Communication protocol being used: “TCP/IP”. Communication API being used: “SOCKETS”. Location where the error was detected: “9.119.154.229”. Communication function detecting the error: “connect”. Protocol specific error code(s): “111”, “*”, “*”. SQLSTATE=08001
查看服务器端机器的防火墙并确保用于连接的端口是有效的。
8. 编译switch load file
(1)一阶段提交
需要”/opt/ibm/cics/example/RM_support/DB2“目录下的db21pc.c和db21pc.mk文件。修改db21pc.mk文件中第88行,将”db2 connect to $(DBNAME); \“改为”db2 connect to <database name/alias> user <user name> using <passw0rd>; \“。例如:”db2 connect to demo1 user db2inst1 using passw0rd; \“。
通过下列命令编译:
#make -f db21pc.mk
(2)两阶段提交
需要”/opt/ibm/cics/example/RM_support/DB2“目录下的db2xa.c和db2xa.mk文件。通过下列命令编译:
#make -f db2xa.mk
9. 练习
根据本部分中的步骤配置TXSeries 连接DB2,并通过执行应用程序进行测试。
TXSeries入门系列文章–单元三
数据管理
三部分 TDQ/TSQ
以下文章点击率最高
Loading…