Tuxedo与DB2数据库的连接[转帖]_MQ, Tuxedo及OLTP讨论区_Weblogic技术|Tuxedo技术|中间件技术|Oracle论坛|JAVA论坛|Linux/Unix技术|hadoop论坛_联动北方技术论坛  
网站首页 | 关于我们 | 服务中心 | 经验交流 | 公司荣誉 | 成功案例 | 合作伙伴 | 联系我们 |
联动北方-国内领先的云技术服务提供商
»  游客             当前位置:  论坛首页 »  自由讨论区 »  MQ, Tuxedo及OLTP讨论区 »
总帖数
1
每页帖数
101/1页1
返回列表
0
发起投票  发起投票 发新帖子
查看: 4731 | 回复: 0   主题: Tuxedo与DB2数据库的连接[转帖]        下一篇 
luqunfang
注册用户
等级:少校
经验:1219
发帖:74
精华:0
注册:2012-6-25
状态:离线
发送短消息息给luqunfang 加好友    发送短消息息给luqunfang 发消息
发表于: IP:您无权察看 2012-7-12 9:38:40 | [全部帖] [楼主帖] 楼主

        Tuxedo与数据库的联系非常密切,而且与多种主流数据库的连接区别的配置过程不大,在下文中介绍Tuxedo8.1与DB2的连接配置。

试验环境:Tuxedo8.1, DB2 v8,Windows平台
试验步骤:
     设置环境变量
设置DB2INSTANCE环境变量,以引用包含您希望Tuxedo使用的数据库实例。在本例中,我使用DB2样本数据库SAMPLE,它位于DB2这个数据库实例中,所以我的环境变量设置就是SET DB2INSTANCE=DB2,如果应用中的配置保持一定,也可以将其写入用户环境变量中。
在PATH环境变量中加入C:IBMBIN(C:IBM为DB2的安装路径)
确认可以在当前用户下连接DB2数据库,即在DB2命令窗口中敲入DB2 CONNECT TO SAMPLE可以连接成功
      配置DB2数据库程序参数TP_MON_NAME
     在DB2命令窗口中键入DB2 GET DBM CFG,会列出当前数据库的配置参数,其中有一项为TP_MON_NAME,需要更新使用命令

>DB2 UPDATE DBM CFG USING TP_MON_NAME TUXEDO


要使更改生效,需要重起实例,所以需要继续敲入下列命令:

>DB2STOP
>DB2START


    将DB2的定义添加至Tuxedo资源管理器程序的定义文件中,在下面的示例中,UDB_XA是为DB2在本地的定义的Tuxedo资源管理程序名,而db2xa_switch是类型为xa_switch_t的一个结构的DB2定义的名称
2 对于AIX,在文件/udataobj/RM中,添加定义:

# DB2 UDB
UDB_XA:db2xa_switch:-L /lib -ldb2


其中,{TUXDIR}是安装了Tuxedo的目录,而{DB2DIR}是DB2实例目录。
2 对于Window NT,在文件%TUXDIR%Dataobj m中,添加定义:

# DB2 UDB
UDB_XA;db2xa_switch;%DB2DIR%ibdb2api.lib


其中,%TUXDIR%是安装了Tuxedo的目录,而%DB2DIR%是DB2实例目录。
  为DB2构建Tuxedo事务监控程序服务器程序:
2 对于AIX:

/bin/buildtms -r UDB_XA -o /bin/TMS_UDB


其中,{TUXDIR}是安装了Tuxedo的目录。
2 对于Windows NT:

%TUXDIR%inuildtms -r UDB_XA -o %TUXDIR%inTMS_UDB


操作成功后,会在%TUXDIR%in下产生一个TMS_UDB.exe
注:buildtms命令不接受带空格的命令。我原本安装DB2的标准安装,把DB2安装在C: Program FilesIBMSQLLIB中,但是在buildtms中,总是不能通过,所以我重新将DB2安装在C:IBM下,buildtms命令顺利通过。
    构建应用服务器,在下面的示例中,-r选项指定资源管理程序名,-f选项(使用的一次或多次)指定包含应用程序服务的文件,-s选项指定此服务器的应用程序服务名,而-o选项指定输出服务器文件名:
编写DB2的嵌入式Sql文件DB2.sqc,嵌入式sql语法和Oracle基本一致
预编译DB2嵌入式Sql文件,在DB2命令窗口中键入如下命令:

>DB2 PREP %APPDIR%DB2.SQC BINDFILE


生成DB2.c文件,和一个用于和数据库绑定的DB2.BND文件
将数据库与应用绑定,在DB2命令窗口中键入如下命令:

>DB2 BIND %APPDIR%DB2.BND


成功后即可将应用与数据库绑定
   编译生成Tuxedo Server:
需要先修改一些DB2和Tuxedo冲突的头文件:
1.TUXEDO安装路径include目录下的下面文件
把sqlca.h 改名为 sqlca.h.bbb
把sqlcode.h 改名为 sqlcode.h.bbb
把sqlda.h 改名为 sqlda.h.bbb
2.重命名TUXEDO安装路径lib目录下的下面文件
把libsql.lib 改名为 libsql.lib.bbb
2 对于AIX:

/bin/buildserver -r UDB_XA -f svrFile.c -s svcName -o UDBserver


其中%TUXDIR%是安装了Tuxedo的目录
2 对于Window NT:

%TUXDIR%inuildserver -r UDB_XA -f svrFile.c -s svcName -o UDBserver


其中%TUXDIR%是安装了Tuxedo的目录。
   设置Tuxedo配置文件以引用DB2服务器。
在UBBCONFIG文件的*GROUPS的小节中,添加类似如下的项:

UDB_GRP LMID=simp GRPNO=3
TMSNAME=TMS_UDB TMSCOUNT=2
OPENINFO="UDB_XA:db=sample,uid=db2_user,pwd=db2_user_pwd"


其中,TMSNAME参数指定您先前构建的事务监控程序的服务器程序,而OPENINFO参数指定资源管理器程序名。其后是数据库名称和DB2用户和口令,其中口令可以输入*****,在tmloadcf过程中会提示你输入相应密码。
在*SERVERS节中加入您先前构建的应用服务器,如本例中的Tuxedo Server名为DB2,所以设置:

*SERVERS
DEFAULT:
CLOPT="-A"
DB2 SRVGRP=GROUP1 SRVID=1


   启动Tuxedo:
先用TMADMIN创建TLOG文件,TUXEDO用一个文件TLOG记录对数据库操作的日志。用于协调分布式数据库的提交与回滚.

 >tmadmin
>crdl -b 500 -z %APPDIR%TLOG
>q
tmboot -y


在该命令完成之后,Tuxedo信息应指示服务器已启动。




赞(0)    操作        顶端 
总帖数
1
每页帖数
101/1页1
返回列表
发新帖子
请输入验证码: 点击刷新验证码
您需要登录后才可以回帖 登录 | 注册
技术讨论