大部分步骤可以参考《Windows 平台下tuxedo应用 simpapp举例 》。
需要安装的软件:
Oracle Tuxedo 10gR3
Microsoft Visual Studio 2010
安装好这些费了一些功夫,最开始安装VS2005,因为先安装过Office2007,只能选择安装到C:\Program Files下,只能先卸了Office2007,再安装。然后Windows7和VS2005冲突,又下了 VS2010。
simpapp例子在%TUXDIR%\samples\atmi \simpapp
主要问题:
1.配置环境变量
setenv.cmd
set TUXDIR=E:\Oracle\Tuxedo\tuxedo10gR3_VS2005(tuxedo安装的全路径)
rem set WSNADDR=<address of the server; only if this is a workstation client>(服务器的地址,只有客户端和服务器分开的时候才需要配置)
set APPDIR=D:\Study\Tuxedo\simpapp(当前目录路径)
set PATH=%TUXDIR%\bin;%APPDIR%;%PATH%
set TUXCONFIG=%APPDIR%\tuxconfig
vcvars32.bat (VS2010 VC 环境变量)
如果没增加vcvars32.bat(位于E:\Microsoft Visual Studio 10.0\VC\bin,需要将这个路径加入到PATH里),在编译时会报以下错误:
TUXNT_CAT:77: ERROR: Can't execute cl /MD -I"%TUXDIR%"\include -Fesimpcl simpcl.c "%TUXDIR%"\lib\libtux.lib "%TUXDIR%"\lib\libbuft.lib "%TUXDIR%"\lib\libfml.lib "%TUXDIR%"\lib\libfml32.lib "%TUXDIR%"\lib\libengine.lib wsock32.lib kernel32.lib advapi32.lib user32.lib gdi32.lib comdlg32.lib winspool.lib -link -implib:BC-1488.lib
2.编辑ubbconfig文件
ubbsimple
# (c) 2003 BEA Systems, Inc. All Rights Reserved.
#ident "@(#) samples/atmi/simpapp/ubbsimple $Revision: 1.5 $"
#Skeleton UBBCONFIG file for the TUXEDO Simple Application.
#Replace the <bracketed> items with the appropriate values.
*RESOURCES
IPCKEY 123456 #IPC key,先随便填
#Example:
#IPCKEY 123456
DOMAINID simpapp
MASTER simple
MAXACCESSERS 10
MAXSERVERS 5
MAXSERVICES 10
MODEL SHM
LDBAL N
*MACHINES
DEFAULT:
APPDIR="D:\Study\Tuxedo\simpapp" #当前路径
TUXCONFIG="D:\Study\Tuxedo\simpapp\tuxconfig" #TUXCONFIG路径
TUXDIR="E:\Oracle\Tuxedo\tuxedo10gR3_VS2005" #Tuxedo路径
#Example:
# APPDIR="/home/me/simpapp"
# TUXCONFIG="/home/me/simpapp/tuxconfig"
# TUXDIR="/usr/tuxedo"
"FANHUAN-THINK" #主机名
LMID=simple
#Example:
#beatux LMID=simple
*GROUPS
GROUP1
LMID=simple GRPNO=1 OPENINFO=NONE
*SERVERS
DEFAULT:
CLOPT="-A"
simpserv SRVGRP=GROUP1 SRVID=1
*SERVICES
TOUPPER
把ubbsimple<>里需要替换的都替换掉,否则回报以下错误,错误信息不是很清楚:
CMDTUX_CAT:866: ERROR: tmloadcf: Severe error found. Stop syntax checking.
主机名必须正确,并且全部大写,否则回报以下错误:
CMDTUX_CAT:868: ERROR: tmloadcf cannot run on a non-master node
主机名中如果有-号,需要用双引号扩起来,否则回报以下错误:
FANHUAN
^
CMDTUX_CAT:1615: ERROR: Identifier or number must be followed by white space or punctuation
主要是这些问题,其它按文档来应该没有问题。