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

1 Tuxedo CLIENT 连接不到server 端的网络问题?

如果网络是通的,那么还有一个问题:

就是如果你的网络部太好,就是ping(默认是64 bytes)大的包(例如:512,

1024bytes)不通(或者丢包率太大),也不行。因为这个跟你写的程序有关。如果

在网络传输时要求网络特别好,那么这个地方也容易出现问题。

另外你 client 设置的WSNADDR 的IP and Port 必须没有问题,否则也会出现这

样的问题,这个跟我以前说的问题是一样的。就是网络不通。

2 分多次返回数据的问题

(1) Conversation 的方式是可行的,只要在客户端做好控制,就不会出现等待

太久的情况(比如用循环连续地把结果分多次取完),队列方面BBL 会处

理,只是资源使用肯定会比同步方式多,还有如果返回量太大,需要经过

长时间分多次传送,就要注意ubb 中的关于超时的设置,否则会出现13

的超时错误。

(2) 使用tpcall 方式。客户端多次tpcall 取回所需要的数据。

3 tmshutdown -y 出错?

关于这个问题,我也遇到过,无法shutdown,后来只有kill掉,但是这样的话tmboot

的时候会有问题,因为kill 的时候IPC 没有被释放,有两个办法:换一个IPC 值

(2^15+1--2^18)或者用ipcrm(UNIX)将原来的IPC 释放掉。

4 如何用 TUXEDO 同步调用存储过程?

#if defined(__STDC__)||defined(__cplusplus)

QUERY(TPSVCINFO *rqst)

#else

QUERY(rqst)

TPSVCINFO *rqst;

#endif

{

................

EXEC SQL BEGIN DECLARE SECTION;

sql_cursor sys_cursor;

.......

EXEC SQL VAR error IS STRING(ERRINFO_LEN);

EXEC SQL END DECLARE SECTION;

......

transftemp =(FBFR *)rqst->data;

transf = (FBFR *)tpalloc("FML32",NULL,10240);

if (transf == (FBFR *)NULL)

{

tpreturn(TPFAIL,0,(char *)transf,0L,0);

}

Finit(transf,(FLDLEN)Fsizeof(transf));

EXEC SQL ALLOCATE :test_cursor;

EXEC SQL EXECUTE

BEGIN

proc_query(:test_cursor,:error,:iRet);

END;

END-EXEC;

5 TMS 老是启动不了的问题?

错误原因不是权限的问题!

是因为我的 setenv 中设置

set NLS_LANG=SIMPLIFIED CHINESE_CHINA.ZHS16CGB231280

set NLS_DATE_FORMAT='YYYY-MM-DD'

我的 DB 字符集为SIMPLIFIED CHINESE_CHINA.ZHS16CGB231280

可能在 WIN2000 下不能设置NLS_LANG 和NLS_DATE_FORMAT(但是UNIX

中可以)

去掉这两句后就可以启动 TMS 了!

6 tuxedo 中XA 错误解析

如果 tuxedo 中使用XA,出现如下错误的解决方法:

Tuxedo ULOG
144225.rs43p!BBL.24850: LIBTUX_CAT:262: INFO: Standard main starting
144240.rs43p!TMS_ORACLE.36242: 101300: TUXEDO Version 6.4 AIX 2 4
007025954C00. 144240.rs43p!TMS_ORACLE.36242: LIBTUX_CAT:262: INFO:
Standard main starting 144240.rs43p!TMS_ORACLE.36242: LIBTUX_CAT:466:
ERROR: tpopen TPERMERR xa_open re turned XAER_INVAL 144240.rs43p!
TMS_ORACLE.36242: LIBTUX_CAT:250: ERROR: tpsvrinit() failed
144240.rs43p!tmboot.39820: 101300: TUXEDO Version 6.4 AIX 2 4
007025954C00. 144240.rs43p!tmboot.39820: CMDTUX_CAT:825: ERROR:
Process TMS_ORACLE at SITE1 fa iled with /T tperrno (TPERMERR -
resource manager error) 144240.rs43p!TMS_ORACLE.38768: 101300: TUXEDO
Version 6.4 AIX 2 4 007025954C00. 144240.rs43p!TMS_ORACLE.38768:
LIBTUX_CAT:262: INFO: Standard main starting 144240.rs43p!
TMS_ORACLE.38768: LIBTUX_CAT:466: ERROR: tpopen TPERMERR xa_open
returned XAER_INVAL 144240.rs43p!TMS_ORACLE.38768: LIBTUX_CAT:250:
ERROR: tpsvrinit() failed 144240.rs43p!tmboot.39820: CMDTUX_CAT:825:
ERROR: Process TMS_ORACLE at SITE1 fa iled with /T tperrno (TPERMERR -
resource manager error)


有三个问题导致出现这样的错误:

(1)你的RM 配置文件是否有错误,通过buildtms 就可以测试出来。如果

buildtms 成功,则证明RM 配置没有问题。如果不能正确 buildtms 成功,请先

配置正确的RM 文件。

(2)XA 配置文件中Open string 配置出现错误,正确的格式:

OPENINFO="Oracle_XA:Oracle_XA+SqlNet=alias+Acc=P/un/pw+SesTm=10+Log
Dir=<xxx>"


(3)tuxedo device 没有正确的建立,请重新建立一遍。使用如下命令(例子,请

使用符合你的实际要求的做):

crdl -b 2000 -z /home/tuxedo/TLOG
crlog -m LMID


7 编译客户端程序,运行时调用tpinit 出错?

你未使用 cb 时候,你肯定没有使用WS 方式,现在你使用WS 方式,所以你必

须配置WSNADDR 环境变量和buildclient 使用-w 参数

8 tuxedo 与sybase 如何联结怎么连接?自己写连接?还

是采用tuxedo 的XA 直连?

在应用 XA Interface 编译执行TUXEDO 应用时,应注意的几个问题

本文所针对的应用环境:

OS:Win2000
ASE:ASE125(安装路径e:\sybase)
OCS:Open Client125(安装路径e:\sybase\ocs-12_5)
TUXEDO:Tuxedo8.0(安装路径e:\program files\tuxedo8.0)


1.Open Client125 要求必须安装EBF10420 或者EBF10419 补丁

2.修改RM TUXEDO 文件

#----------NT-----------begin--------
SYBASE_XA_SERVER;sybase_TUX_xa_switch;E:\sybase\OCS-12_5\lib\libxadtm.lib E:\sybase\OCS-12_5\lib\libcobct.lib
E:\sybase\OCS-12_5\lib\libct.lib E:\sybase\OCS-12_5\lib\libcs.lib
#----------NT-----------end----------


注意必须放在同一行.

3.修改UBB 文件

OPENINFO="SYBASE_XA_SERVER: -Nconnection1 -Uuserid1 -
Ppassword1 -Le:\SYBASE\ocs-12_5\sample\xadtm\
tuxedo\simprpc.ct\xa_log -V125 -Tall"


注意-V -T 参数的使用

测试Open Client125 自带样本应用simprpc 时,

4.修改makefile 文件,并使用"nmake - fmakefile all"命令进行编译

CFLAGS= -I$(SYBASE)OCS-12_5include -I$(TUXDIR)include
RM= SYBASE_XA_SERVER
TMS= tms_simprpc
all: simprpc simpsrv
clean:
rm -f *.o simprpc simpsrv $(TMS)
.SUFFIXES: .c .o
.c.o:
$(CC) $(CFLAGS) -c $*.c
simpsrv: simpsrv.o
set CFLAGS=$(CFLAGS);
$(TUXDIR)binbuildserver -s SIMPSRV -o simpsrv - f simpsrv.c -r
$(RM)
$(TUXDIR)binbuildtms -o $(TMS) -r $(RM)
simprpc: simprpc.o
set CFLAGS=$(CFLAGS);
$(TUXDIR)binbuildclient -o simprpc - f simprpc.c


5.修改simpsrv.c 文件

if (cs_ctx_global(CS_VERSION_125, &ctx) != CS_SUCCEED)
return (NULL);


注意版本信息:CS_VERSION_125




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