1.1 怎么样在程序中设置环境变量,用哪个函数?
保存一个 tuxedo 的env 文件,如:tuxenv.ini.内容格式如下:
[TUXCOMM]
TUXDIR=c:\tuxedo
PATH=%PATH%;c:\tuxedo\bin
WSADDR=//192.168.0.1:6000
。。。
在程序中使用: tuxreadenv("tuxenv.ini","TUXCOMM");语句来调用。
1.2 如何在程序中动态变换WSNADDR?
建议使用 tuxreadenv function,方法如下:
保存一个 tuxedo 的env 文件,如:tuxenv.ini.内容格式如下:
[TUXCOMM]
TUXDIR=c:\tuxedo
PATH=%PATH%;c:\tuxedo\bin
WSADDR=//192.168.0.1:6000
在程序中使用:
tuxreadenv(“tuxenv.ini“,“TUXCOMM“);
程序例子:
tuxreadenv();
tpinit()
tpalloc();
Fchg();
tpcall();
return 0
每一个代码都这样写!
1.3 在 AIX 下,Client 需要对应多个Server,WSNADDR
如何配置?tuxputenv 如何使用?在程序调用时怎样切
换?
一个 client 访问多个server,不建议使用系统的WSNADDR 环境变量。建议使用
tuxreadenv 函数。或者使用tuxputenv.其实最好使用tuxreadenv.因为tuxreadenv 是
读取配置的环境变量
例子如下:
iRet = tuxreadenv("tuxenv.ini","SVR1");
/* 访问SVR1 host */
if (iRet < 0)
{
userlog("error on tuxreadenv SVR1");
tpfree(char *)RcvBuf;
return -1;
}
.......................
iRet = tuxreadenv("tuxenv.ini","SVR2");
/* 访问SVR2 host */
if (iRet < 0)
{
userlog("error on tuxreadenv SVR2");
tpfree(char *)RcvBuf;
return -1;
}
tuxenv.ini 文件内容如下:
[SVR1]
TUXDIR=/home/tuxdeo /* TUXDIR=c:\tuxedo on windows */
PATH=$PATH:$TUXDIR/bin /* %PATH%;%TUXDIR%/bin on Windwos*/
LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$TUXDIR/lib
WSNADDR=//192.168.0.1:6000
[SVR2]
TUXDIR=/home/tuxdeo /* TUXDIR=c:\tuxedo on windows */
PATH=$PATH:$TUXDIR/bin /* %PATH%;%TUXDIR%/bin on Windwos*/
LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$TUXDIR/lib
WSNADDR=//192.168.0.1:6001
1.4 bea 的文档里就有一个客户端连接不通服务端的例子
(html 帮助文档)。
这样做的好处是显而易见的:服务器不用配置成复杂的多域模式。
不通的服务器要用独立的 context。
#include <stdio.h>
#include "atmi.h" /* BEA Tuxedo header file */
main(int argc, char *argv[])
{
TPINIT * tpinitbuf;
TPCONTEXT_T firstapp_contextID, secondapp_contextID;
/* Attach to the BEA Tuxedo system in multicontext mode.*/
tpinitbuf=tpalloc(TPINIT, NULL, TPINITNEED(0));
tpinitbuf->flags = TPMULTICONTEXTS;
if (tpinit((TPINIT *) tpinitbuf) == -1)
{
(void) fprintf(stderr, "Tpinit failed\n");
exit(1);
}
/* Obtain a handle to the current context. */ tpgetctxt(&firstapp_contextID, 0);
/* Use tuxputenv to change the value of TUXCONFIG, so we now tpinit to another
application. */
1.5 系统环境变量的设置
如果使用 tuxreadenv()函数,可以直接修改环境变量的配置文件。立刻生效。如
果使用windows 98 系统的环境变量,那么需要重新启动系统啊。如果windows
2000 可以立刻生效。
1.6 TMS 起来后,但运行客户端取不到数据,是什么原因?
setenv 就是在写程序时候设置环境变量的一个shell。如果在unix上就是setenv
(或其他的文件,可以执行,更改环境变量的shell 文件),如果在windows 上就是 setenv.bat(也可以是其他的名字,可以改变当前的环境变量)
1.7 在 Redhat8.0 下怎么安装Tuxedo8.1?
经过分析安装脚本我现在知道了。是内部解压缩包出错。原因是没有
uncompress 这个命令。只需cp /bin/gunzip /bin/uncompress 即可。
1.8 环境变量设置需要在几个地方?
关于环境变量有两个地方是必须设置的:
1、当前shell 环境变量
2、配置文件ubb 中
由于 Windows 平台比较特殊,所以可以在“我的电脑”里设置环境变量。但可
以在命令行窗口中重新设置来覆盖,你的问题看起来是你TUXCONFIG 这个环
境变量和UBB 中的不一致,你可以在命令行窗口下用echo %TUXCONFIG% 显
示当前窗口的TUXCONFIG 环境变量。另外如果还不行就把你原来那个
TUXCONFIG 文件删掉,重新tmloadcf
1.9 UNIX 库文件环境变量如何设置?
LD_LIBARARY_PATH 是unix 的设置库文件环境变量,类似windows 下的
LIB=c:\tuxedo 设置lib 环境变量的,其他的unix 还有SHLIB_PATH 等
1.10 Delphi 开发客户端的环境变量设置?
delphi 客户端需要配置两个环境参数,如果是win98,放在autoexec.bat 中,如
果是win2000,在"我的电脑"->“高级”配置Path,指向tuxedo 的根目录和\bin 目
录。
例如 path = ...;c:\bea\tuxedo8.0;c:\bea\tuxedo8.0\bin
tuxdir,指向tuxedo 的根目录
tuxdir=c:\bea\tuxedo8.0