9 关于安装 WEB GUI 的问题?
在登录这个 gui 模式的TUXEDO 管理器的时候,是会遇到一些问题,因为大
部分人在安装的时候可能把这步的用户名和密码给省略了,这样造成了后面的问
题,比如在安装的时候,是以两个空为代价装完之后,在配置tuxedo 的管理控
制台,就有可能在login 这步卡住,其实解决这个问题是很简单的,你可以打开
tlisten.pw 文件在第一行写入你的用户名,然后回车(记得回车呀)在写入密码,
就可以了,然后在你的login 中输入就可以轻松的进入控制台的界面了,因为
tlisten.pw 里面是明码的,所以写入就可以了,在6。5 上成功。在别的版本中
administrator/anypass 是用户名和密码,但是在6。5 好象不能成功的。
10 ATMI 的C++编程问题
在 TUXEDO 中是可以使用C++的,因为用C/C++关键是你的编译器,而不
是TUXEDO,在编程方面,TUXEDO 只是提供了函数库和一些数据结构而已。另
外用C++要小心TUXEDO 中间的tpreturn函数采用了longjmp 的远程goto 方式,
所以导致在tpreturn 之前申明的栈上的对象无法自动析构,存在memory leak
的危险!
11 有关 SECURITY的问题?
你可以在程序中用 tpchkauth() 取得授权信息,检查授权,再根据返回值设置用
户名及口令。用户名和口令应放入 TPINIT 类型的数据中。此类型在使用时也
要分配内存空间。
SECURITY 的组是用tpgrpadd 命令加入的,用户是用tpusradd 加入的,ACL 是
用tpacladd 加入的。这样在APPDIR 下tuxedo 自动产生tpgrp 和tpusr、tpacl 文
件来保存相关的密码和帐户。你说的用tmadmin 加入,
我没有试过。你可以看看tuxedo 的security 相关文档了解一下。
tpinit 中的passwd 是指tmloadcf 时候输入的密码,username 是指tpusradd 时候的
user name,data 是指tpusradd 时提示输入的密码。
12 用什么方法可以看到我创好的用户和组呢?
web-gui 管理界面中有有关 ACL 组及用户的设置信息。
13 如何把 FML 的描述文件编译成DLL 文件,包含在如
VB 或POWERBUILDER 中的客户端进行调用?
第一种方式:
把头文件中的定义改成 PB 中的变量声明即可
你可以参照如下定义:
#define ACCOUNT_ID ((Fldid)8302)
在 PB 中:
long ACCOUNT_ID = 8302
第二种方式:
1。制作dll,把fml table 的内容制作到dll 中,调用。
14 在编译 TUXEDO 客户端,出现无法定位输入点
xxxx.dll 是不是编写的DLL 程序有问题?
可以在程序中直接把___dllexport 加上就可以。
15 TUXEDO LICENSE 的说明资料
BEA公司对TUXEDO 中间件的使用许可(License)控制的是同时与TUXEDO
服务器连接的并发客户端的数量,即每秒种同时用tpinit()连接到TUXEDO 服务
器调用服务做交易的客户端数目。需要说明的常见问题有几点:
l Tuxedo License 数目与后台的应用有多少个服务无关,Tuxedo 只控制用户数,
不控制应用服务的数目和类型。
l Tuxedo License 数目与后台的应用服务器主机的数目、型号、性能高低无关。
用户升级主机无须更换License
l Tuxedo License 中的并发用户License 主要根据应用的并发交易量来确定,此处
“交易”的概念是业务角度的交易,即指客户端发起的业务交易,而不是指后台
运行的服务程序。一个交易包含客户端程序的一次服务器连接过程所调用的所有
服务。比如用户的一次联机缴费交易,可能包括运行多个后台服务程序。
l Tuxedo License 中的并发用户License 与总的终端连接数无直接关系,对于常见
的应用模型,BEA 可以提供一些仅供参考的并发百分比经验值,比如某类应用
一般的并发用户率为30%-35%。
一般来说,一个基于TUXEDO 的三层应用所需要的TUXEDO Licenses 数目主要取决于以下几个因素:
业务量大小,既用户在单位时间内预期的行为次数。
业务模型,包括影响业务量变化的因素和各种业务的组成模型。
高峰时的业务量放大因子、系统配置富裕量因子。
若干年内用户数增长百分比和系统功能扩展的因素。
16 PowerBuilder 中声明、调用tuxedo 方法例子
声明例子:
Function Integer tpinit (Long TPINFO ) LIBRARY "wtuxws32.dll"
Function Integer tpterm () LIBRARY "wtuxws32.dll"
Function Integer tpcall (String SVCNAME , Long IDATA , Long ILEN, ref Long
ODATA ,ref Long OLEN , Long flags ) LIBRARY "wtuxws32.dll"
Function Integer tpacall (String SVCNAME , Long IDATA , Long
ILEN , Long flags ) LIBRARY "wtuxws32.dll"
Function Long tpalloc (String BUFTYPE , String SUBTYPE , Long
BUFSIZE ) LIBRARY "wtuxws32.dll"
Function Long tprealloc (Long buffer , Long BUFSIZE ) LIBRARY
"wtuxws32.dll"
Subroutine tpfree (Long buffer ) LIBRARY "wtuxws32.dll"
Function integer gettperrno() library "wtuxws32.dll"
Function integer getFerror() library "wtuxws32.dll"
Function Integer Fchg32( Long RCVBUF,long FLDID,long OCC,ref String value,ref
long LEN ) LIBRARY "wtuxws32.dll"
Function integer Fget32( Long RCVBUF,long FLDID,long OCC,ref String value,ref
long LEN) library"wtuxws32.dll"
Function integer Foccur32( Long fbfr,long FLDID) library"wtuxws32.dll"
程序中调用 tuxedo 例子:
tpinfo=tpalloc("TPINIT","",240)
tpalloc (String BUFTYPE , String SUBTYPE , Long BUFSIZE )
ret = tpinit(0)
if ret<0 then
ret=gettperrno( )
messagebox('信息提示','tpinit error')
else
reqbuf = tpalloc("FML32", "", 65535)
Fchg32(reqbuf,iv_gh_code,0,gv_gh,gh_len)//Fchg32( Long RCVBUF,long
FLDID,long OCC,ref String value,ref long LEN )
Fchg32(reqbuf,iv_fhy_code,0,gv_gh,fh_len)
Fchg32(reqbuf,iv_tx_code,0,gv_tx,gv_tx_len)
ret= tpcall("ADP_MILK",reqbuf,my_len,reqbuf,my_len,0)
if (ret<0) then
ret=gettperrno( )
retstr="tpcall:"+ tpstrerror(ret)
messagebox('信息提示',retstr)
else
my_len=0
Fget32(reqbuf,iv_zhye_code,0,ls_zhye,my_len)
Fget32(reqbuf,iv_cwbm_code,0,is_error_code,my_len)
end if
tpfree(reqbuf)
ret=tpterm()
end if
end if
17 pb 与tuxedo 函数说明
Function Integer Fchg32( Long RCVBUF,long FLDID,long OCC,ref String
value,ref long LEN ) LIBRARY “wtuxws32.dll“
Fchg32 函数说明:
Long RCVBUF:你使用tpalloc 申请的buffer
long FLDID:你要传输到后台的字段id
long OCC:FLDID 的occ 值.就是往buffer 中放FLDID 的次数
ref String value:FLDID 的值
ref long LEN :value 的长度
LIBRARY “wtuxws32.dll“ : 表示引用的动态库
例子:Fchg32(SndBuf ,NAME ,0,"bea",0)
Function integer Fget32( Long RCVBUF,long FLDID,long OCC,ref String value,ref
long LEN) library“wtuxws32.dll“
Fget32 函数说明:
同 Fchg32 函数说明。