TUXEDO与INFORMIX数据库的互连

上传人:汽*** 文档编号:508730036 上传时间:2022-07-29 格式:DOC 页数:8 大小:44KB
返回 下载 相关 举报
TUXEDO与INFORMIX数据库的互连_第1页
第1页 / 共8页
TUXEDO与INFORMIX数据库的互连_第2页
第2页 / 共8页
TUXEDO与INFORMIX数据库的互连_第3页
第3页 / 共8页
TUXEDO与INFORMIX数据库的互连_第4页
第4页 / 共8页
TUXEDO与INFORMIX数据库的互连_第5页
第5页 / 共8页
点击查看更多>>
资源描述

《TUXEDO与INFORMIX数据库的互连》由会员分享,可在线阅读,更多相关《TUXEDO与INFORMIX数据库的互连(8页珍藏版)》请在金锄头文库上搜索。

1、TUXEDO与INFORMIX数据库的互连前言: 在两层的C/S结构中,客户端直接访问数据库,当采用TUXEDO中间件后,形成三层结构。这时,客户端不直接访问数据库,而是改为调用中间件TUXEDO服务端上的服务,由TUXEDO服务端访问数据库,并把结果返回给客户端。TUXEDO服务端可以和INFORMIX在同一台服务器上,也可以在不同的机器上,如果在不同的机器上,在TUXEDO的服务端所在的机器要安装一个INFORMIX的客户端。 TUXEDO服务端与INFORMIX数据库连接有两种方式: 1、不通过XA接口直接互连。适用于整个系统只有一个数据库的情况。 2、通过XA接口互连,对整个系统有一个

2、数据库或多个数据库都适用,建议采用,本文介绍这种互连的配置方法。 系统说明: TUXEDO: 版本TUXEDO6.5(是32位的)安装在HP-UX 11.0 64bit上,安装目录 /usr/tuxedo TUXEDO的例子: /usr/tuxedo/simpdb INFORMIX: 版本INFORMIX9.21(是64位的)安装在SCO Unix 5.0.5上,目录 /INFORMIX 数据库名称: mydb TUXEDO用户名: TUXEDO 注意:TUXEDO系统与INFORMIX数据库在不同的机器上,所以在TUXEDO系统所在的机器上要安装INFORMIX数据库的CLIENT端,并且如

3、果TUXEDO系统是32位的,而INFORMIX数据库的服务端是64是,在TUXEDO系统所在的机器上应安装INFORMIX数据库的32位的CLIENT端才行。 配置的步骤: 一、INFORMIX的的配置 1 数据库一定要以unbuffered log方式创建,create database databasename with log; INFORMIX数据库的LOG方式有3种:Buffered,Nobuffer,Unbuffered(under buffer) 用onmonitor命令可查看数据库是否是用unbuffered log方式创建的,log status 那一列为U的是unbuff

4、ered log方式。 用ontape -s L 0 U databasename;可把一个其他方式创建的数据库改为unbuffered log方式的. 2tuxedo用户应该有访问该数据库资源的权限。grant dba to tuxedo; 如果TUXEDO用户没有访问该数据库资源的权限,当TUXEDO启动时,TMS启动会失败,在ULOG中会出现类似下面的错误信息: 145053.rs6000!BBL.17510: LIBTUX_CAT:262: INFO: Standard main starting 145053.rs6000!TMS_INFORMIX.20204: 020602: TU

5、XEDO Version 6.5 AIX 2 4 007025954C00. 145053.rs6000!TMS_INFORMIX.20204: LIBTUX_CAT:262: INFO: Standard main starting 145054.rs6000!TMS_INFORMIX.20204: LIBTUX_CAT:466: ERROR: tpopen TPERMERR xa_open returned XAER_RMERR 145054.rs6000!TMS_INFORMIX.20204: LIBTUX_CAT:250: ERROR: tpsvrinit() failed 14505

6、4.rs6000!TMS_INFORMIX.20204: LIBTUX_CAT:300: ERROR: _tlog_open: _gp_tblopen 145054.rs6000!TMS_INFORMIX.20204: LIBTUX_CAT:250: ERROR: tpsvrinit() failed 145054.rs6000!TMS_INFORMIX.20204: LIBTUX_CAT:300: ERROR: _tlog_open: _gp_tblopen: UNIX sys call error - 2 145054.rs6000!tmboot.19178: 020602: TUXEDO

7、 Version 6.5 AIX 2 4 007025954C00. 145054.rs6000!tmboot.19178: CMDTUX_CAT:825: ERROR: Process TMS_INFORMIX at simple failed with /T tperrno (TPERMERR - resource manager error) 二、TUXEDO的配置 1. /usr/tuxedo/simpdb/setenv的内容: . usr/tuxedo/tux.env INFORMIXDIR=/tmp_mnt/informix/hc; export INFORMIXDIR INFOR

8、MIXSERVER=dhc; export INFORMIXSERVER PATH=$TUXDIR/bin:$INFORMIXDIR/bin:/bin:/usr/bin:/usr/ccs/bin:.; export PATH SHLIB_PATH=$SHLIB_PATH:$INFORMIXDIR/lib:$INFORMIXDIR/lib/esql:$INFORMIXDIR/lib /cli:$INFORMIXDIR/lib/c+ :$INFORMIXDIR/lib/client:$INFORMIXDIR/lib/dmi:/usr/lib:/usr/lib/Motif1.2 INCLUDE=$I

9、NFORMIXDIR/incl/esql:$INFORMIXDIR/incl:/tuxedo/include:/usr/include; export INCLUDE CFLAGS=-I$INFORMIXDIR/incl -I$INFORMIXDIR/incl/esql export CFLAGS 2.重命名下列文件,因为下列文件名与INFORMIX中的文件名有冲突,所以要改名。 1.TUXEDO安装路径include目录下的下面文件 把sqlca.h 改名为 sqlca.h.bbb 把sqlcode.h 改名为 sqlcode.h.bbb 把sqlda.h 改名为 sqlda.h.bbb 2

10、.重命名TUXEDO安装路径lib目录下的下面文件 把libsql.lib 改名为 libsql.lib.bbb 3 修改TUXEDO安装路径的udataobj目录下的RM文件,加入: INFORMIX-DSHC:infx_xa_switch:-L/tuxedo/lib -L$INFORMIXDIR/lib -L$INFORMIXDIR/lib/esql -lifxa -lifsql -lifasf -lifgen -lifos -lifgls -lnsl -lm -lsec $INFORMIXDIR/lib/esql/checkapi.o -lifglx 4. 在TUXEDO用户下创建TMS

11、文件:TMS_INFORMIX,TUXEDO通过TMS_INFORMIX与INFORMIX数据库采用XA协议进行通讯 buildtms -r INFORMIX-DSHC -o /tuxedo/bin/TMS_INFORMIX 5. 配置 UBBCONFIG 1 在*MACHINES节中增加: TLOGDEVICE = /usr/tuxedo/simpdb/TLOG TLOGNAME=TLOG TLOGSIZE=200 2. 改*GROUPS节的配置为: *GROUPS GROUP1 LMID=simple GRPNO=1 TMSNAME=TMS_INFORMIX TMSCOUNT=2 OPEN

12、INFO=INFORMIX-DSHC:mydb 修改后的配置文件ubb内容如下,用tmloadcf -y ubb重新生成tuxconfig IPCKEY 123456 DOMAINID simpapp MASTER simple MAXACCESSERS 100 MAXSERVERS 50 MAXSERVICES 100 MODEL SHM LDBAL N *MACHINES server LMID=simple APPDIR=/usr/tuxedo/simpdb TUXCONFIG=/usr/tuxedo/simpdb/tuxconfig TUXDIR=/usr/tuxedo TLOGDEV

13、ICE = /usr/tuxedo/simpdb/TLOG TLOGNAME=TLOG TLOGSIZE=100 *GROUPS GROUP1 LMID=simple GRPNO=1 TMSNAME=TMS_INFORMIX TMSCOUNT=2 OPENINFO=INFORMIX-DSHC:mydb *SERVERS DEFAULT: CLOPT=-A test SRVGRP=GROUP1 SRVID=1 *SERVICES 6.用TMADMIN创建TLOG文件,TUXEDO用一个文件TLOG记录对数据库操作的日志。用于协调分布式数据库的提交与回滚. D:tmadmin crdl -b 50

14、0 -z /usr/tuxedo/simpdb/TLOG crlog -m simple q 三、服务端的程序:test.cp 功能:根据客户端传的EMPNO到表EMP中取ENAME的值,并把它返回给客户端 #include #include #include #include #include #include EXEC SQL INCLUDE sqlca; EXEC SQL BEGIN DECLARE SECTION; long al_empno=0; char ac_ename11=; EXEC SQL END DECLARE SECTION; TEST(TPSVCINFO *rqst)

15、 /*接收客户端来的数据*/ al_empno = (FBFR32 *)rqst-data; EXEC SQL select ename into :ac_ename from EMP where empno=:al_empno; if(sqlca.sqlcode!=0) userlog(select from EMP failure,sqlca.sqlcode=%ldn,sqlca.sqlcode); tpreturn( TPFAIL, 0, rqst-data, 0, 0 ); /*把取出的结果返回给客户端*/ strcpy(rqst-data,ac_ename); tpreturn( TPSUCCESS, 0, rqst-data, 0, 0 ); 四、编写客户端程序: testcli.c 功能:调用TUXEDO服务端的服务TEST,取EMPNO=1000所对应的

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 幼儿/小学教育 > 小学课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号