TUXEDO三层程序安装配置及开发流程.docx

上传人:b****1 文档编号:2606481 上传时间:2023-05-04 格式:DOCX 页数:13 大小:19.53KB
下载 相关 举报
TUXEDO三层程序安装配置及开发流程.docx_第1页
第1页 / 共13页
TUXEDO三层程序安装配置及开发流程.docx_第2页
第2页 / 共13页
TUXEDO三层程序安装配置及开发流程.docx_第3页
第3页 / 共13页
TUXEDO三层程序安装配置及开发流程.docx_第4页
第4页 / 共13页
TUXEDO三层程序安装配置及开发流程.docx_第5页
第5页 / 共13页
TUXEDO三层程序安装配置及开发流程.docx_第6页
第6页 / 共13页
TUXEDO三层程序安装配置及开发流程.docx_第7页
第7页 / 共13页
TUXEDO三层程序安装配置及开发流程.docx_第8页
第8页 / 共13页
TUXEDO三层程序安装配置及开发流程.docx_第9页
第9页 / 共13页
TUXEDO三层程序安装配置及开发流程.docx_第10页
第10页 / 共13页
TUXEDO三层程序安装配置及开发流程.docx_第11页
第11页 / 共13页
TUXEDO三层程序安装配置及开发流程.docx_第12页
第12页 / 共13页
TUXEDO三层程序安装配置及开发流程.docx_第13页
第13页 / 共13页
亲,该文档总共13页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

TUXEDO三层程序安装配置及开发流程.docx

《TUXEDO三层程序安装配置及开发流程.docx》由会员分享,可在线阅读,更多相关《TUXEDO三层程序安装配置及开发流程.docx(13页珍藏版)》请在冰点文库上搜索。

TUXEDO三层程序安装配置及开发流程.docx

TUXEDO三层程序安装配置及开发流程

三层改造程序安装、配置及开发

第一部分前台的安装和配置

一、TUXEDO安装

插入安装盘,运行setup,按照安装程序的提示进行安装,使用缺省路径,安装在C:

\TUXEDO下。

二、TUXEDO安装后的配置

1、win98,win95的配置

点击开始菜单中的“运行”,键入“sysedit”,回车后,在AUTOEXEC.BAT

文件中配置以下环境参数:

SETTUXDIR=C:

\TUXEDO(按缺省安装配置)

SETLIB=C:

\Programfiles\BEASYSTEMS\TUXEDO\LIB(按缺省安装配置)

SETINCLUDE=C:

\TUXEDO\INCLUDE(按缺省安装配置)

SETWSNADDR=//192.168.100.57:

10000(按实际情况填写)

在Path中加入"C:

\TUXEDO\BIN";

CY注:

安装目录最好不要有空格,例如C:

\TUXEDO而不要用C:

\Programfiles\BEASYSTEMS\TUXEDO,带空格的路径AUTOEXEC.BAT可能不认,造成找不到wtuxws32.dll的错误。

配置完毕后,重起机器,看看MSDOS中相应变量是否也已设置,若没有,则在DOS下也进行相应的设置,重起机器。

2、winNT的配置

右击“我的电脑”,点属性,选择菜单,“用户配置文件”,选择相应的用户,再点“环境”菜单,设置环境参数:

TUXDIR=C:

\TUXEDO(按缺省安装配置)

LIB=C:

\TUXEDO\LIB(按缺省安装配置)

INCLUDE=C:

\TUXEDO\INCLUDE

WSNADDR=//192.168.100.57:

10000(按实际情况填写,参照ubb)

在Path中加入C:

\TUXEDO\BIN;

不用重新启动机器。

3、注意!

经过以上设置,如果win98和95还是找不到tuxedo所提供的一些函数,这时,设置查看为“显示所有文件包括隐藏文件”,将\TUXEDO\BIN\wtuxws32.dll拷贝到windows目录下,即可。

三、收费、查询程序的安装

将收费部分三层改造后的程序安装在C:

\lbas\lbas_pay3\下;

将查询部分三层改造后的程序安装在C:

\lbas\lbas_qry3\下。

注意lbas.ini的设置。

CY注:

与咱们无关,忽略之

第二部分后台的安装、配置和开发流程

一、TUXEDO安装

1、cp/tux65.install/HP和tux65.install/install.sh-------->要安装的目录

下;

2、在unix提示符下键入$kshinstall.sh回车,便开始进行安装。

CY注:

安装需要install.sh、相应的软件包、README(对操作系统的说明)、及licence文件(lic.txt),不用把所有内容都拷过去。

二、TUXEDO安装后的配置

1、为了方便开发,最好对环境进行如下配置

编写三个环境文件ora.env,tux.env,tuxcfg.env(见相应的文件)

然后在.profile文件中加入

./ora.env

./tux.env

./tuxcfg.env

path=$TUXDIR/bin:

$PATH:

$ORACLE_HOME/bin:

$PATH;exportPATH

ora.env,tux.env,tuxcfg.env,.profile这四个文件安装在C:

\lbas\lbas3_cfg\目录下,

CY注:

不一定要做三个env文件,配置内容都放在.profile即可。

使用时需作相应的改动

2、将有效的licsence文件lic.txt放在$TUXDIR/udataobj/目录下;

CY注:

这一步安装过程中会自动完成。

3、编译器必须使用标准C编译器;

4、配置udataobj目录下RM文件中的XA与相关数据库的连接

5、使用buildtms生成$TUXDIR/bin/TMS_ORA;

CY注:

如果不用XA,这一步可忽略。

6、配置ubb(配置相应的参数,详见ubb);

7、将server加入ubb中,service可不写;

8、用tmloadcf命令生成二进制的配置文件tuxcfg。

三、开发流程

1、编写服务:

使用C语言(嵌入式SQL)编写服务(server,service),生成.pc文件。

使用XA机制与数据库连接,XA负责控制事务一致性,所以在服务程序中不必直接连接数据库(connect)或断开(disconnect),但需要使用函数tpbegin,tpcommit/tpabort控制事务开始和结束。

2、在服务器端建立服务(首先使用proc将.pc文件编译成.c文件,再用CC将.c文件编译成.o文件,最后使用buildserver将.o文件编译成可执行文件),这个过程使用.mk文件一步到位生成可执行文件。

3、将服务(server及service)加入到配置文件(一般名为ubbconfig)中,使用tmloadcf装载各TUXEDO设置。

本系统只需连接一个数据库,所以全部服务可指向同一组,该组设置与数据库连接用的XA接口参数。

4、执行命令TMBOOT即可将加入的服务运行起来。

(这个过程也包含在

.mk文件中)

注:

.mk文件被安装在C:

\lbas\lbas3_cfg\目录下,使用时需作相应的改

动。

5、在后台程序启动之后,性能调优还包括对操作系统UNIX内核的调整,

需要调整的参数文件para.txt被安装在C:

\lbas\lbas3_cfg\目录下。

问题:

(1)输出字符串长度有影响?

(2)非XA方式的事务处理用EXECSQLCOMMIT/ROLLBACK?

四、附录

1.PB中,externalFUNCTION的定义

FunctionIntegertpinit(LongTPINFO)LIBRARY"wtuxws32.dll"

FunctionIntegertpterm()LIBRARY"wtuxws32.dll"

FunctionIntegertpcall(StringSVCNAME,LongIDATA,LongILEN,refLongODATA,refLongOLEN,Longflags)LIBRARY"wtuxws32.dll"

FunctionIntegertpacall(StringSVCNAME,LongIDATA,LongILEN,Longflags)LIBRARY"wtuxws32.dll"

FunctionLongtpalloc(StringBUFTYPE,StringSUBTYPE,LongBUFSIZE)LIBRARY"wtuxws32.dll"

FunctionLongtprealloc(Longbuffer,LongBUFSIZE)LIBRARY"wtuxws32.dll"

Subroutinetpfree(Longbuffer)LIBRARY"wtuxws32.dll"

Functionintegergettperrno()library"wtuxws32.dll"

Functionstringtpstrerror(intERRNO)library"wtuxws32.dll"

FunctionintegergetFerror()library"wtuxws32.dll"

FunctionLonglstrcpyStr(refStringstr,Longbuffer)library"kernel32.dll"aliasforlstrcpy

FunctionLonglstrcpyPtr(Longbuffer,Stringstr)library"kernel32.dll"aliasforlstrcpy

FunctionIntegerFadd(LongFBFR32,longFLDID32,StringVALUE,UIntLEN)LIBRARY"wtuxws32.dll"aliasforFadd32

FunctionLongFalloc(IntOCCURENCE32,UIntLEN)LIBRARY"wtuxws32.dll"

FunctionIntegerFchg(LongFBFR32,longFLDID32,IntOCCURENCE32,StringVALUE,UIntLEN)LIBRARY"wtuxws32.dll"aliasforFchg32

FunctionIntegerFget(LongFBFR32,longFLDID32,IntOCCURENCE32,LongVALUE,UIntLEN)LIBRARY"wtuxws32.dll"aliasforFget32

FunctionIntegerFoccur(LongFBFR32,longFLDID32)LIBRARY"wtuxws32.dll"aliasforFoccur32

FunctionIntegerFgetInt(LongFBFR32,longFLDID32,IntOCCURENCE32,REFIntVALUE,UIntLEN)LIBRARY"wtuxws32.dll"aliasforFget32

FunctionIntegerFgetLong(LongFBFR32,longFLDID,IntOCCURENCE32,REFLongVALUE,UIntLEN)LIBRARY"wtuxws32.dll"aliasforFget32

FunctionIntegerFgetstring(LongFBFR32,longFLDID,IntOCCURENCE32,refstringstr,UIntLEN)LIBRARY"wtuxws32.dll"aliasforFget32

FunctionIntegerFnum(LongFBFR32)LIBRARY"wtuxws32.dll"aliasforFnum32

FunctionIntegertpbegin(Longtimeout,Longflag)library"wtuxws32.dll"

FunctionIntegertpcommit(Longflag)library"wtuxws32.dll"

FunctionIntegertpabort(Longflag)library"wtuxws32.dll"

2.Delphi中dll函数声明

unittuxlib;

interface

functiontpinit(TPINFO:

LongInt):

Integer;stdcall;

functiontpterm():

Integer;stdcall;

functiontpcall(SVCNAME:

PChar;IDATA:

PChar;ILEN:

LongInt;varODATA:

PChar;varOLEN:

Longint;flags:

LongInt):

Integer;stdcall;

functiontpacall(SVCNAME,IDATA:

PChar;ILEN:

LongInt;flags:

LongInt):

Integer;stdcall;

functiontpalloc(BUFTYPE,SUBTYPE:

PChar;BUFSIZE:

LongInt):

PChar;stdcall;

functiontprealloc(buffer:

PChar;BUFSIZE:

LongInt):

LongInt;stdcall;

proceduretpfree(buffer:

PChar);stdcall;

functiongettperrno():

Integer;stdcall;

functiontpstrerror(ERRNO:

Integer):

PChar;stdcall;

functiongetFerror():

Integer;stdcall;

functionlstrcpyStr(varstr:

PChar;buffer:

Pchar):

LongInt;stdcall;

functionlstrcpyPtr(buffer:

Pchar;str:

PChar):

LongInt;stdcall;

functionFadd(FBFR32,FLDID32:

LongInt;VALUE:

PChar;LEN:

Cardinal):

Integer;stdcall;

functionFalloc(OCCURENCE32:

Integer;LEN:

Cardinal):

LongInt;stdcall;

functionFchg(FBFR32,FLDID32:

LongInt;OCCURENCE32:

Integer;VALUE:

PChar;LEN:

Cardinal):

Integer;stdcall;

functionFget(FBFR32,FLDID32:

LongInt;OCCURENCE32:

Integer;VALUE:

LongInt;LEN:

Cardinal):

Integer;stdcall;

functionFoccur(FBFR32,FLDID32:

LongInt):

Integer;stdcall;

functionFgetInt(FBFR32,FLDID32:

LongInt;OCCURENCE32:

Integer;varVALUE:

Integer;LEN:

Cardinal):

Integer;stdcall;

functionFgetLong(FBFR32,FLDID:

LongInt;OCCURENCE32:

Integer;varVALUE:

LongInt;LEN:

Cardinal):

Integer;stdcall;

functionFgetstring(FBFR32,FLDID:

LongInt;OCCURENCE32:

Integer;varstr:

PChar;LEN:

Cardinal):

Integer;stdcall;

functionFnum(FBFR32:

LongInt):

Integer;stdcall;

functiontpbegin(timeout,flag:

LongInt):

Integer;stdcall;

functiontpcommit(flag:

LongInt):

Integer;stdcall;

functiontpabort(flag:

LongInt):

Integer;stdcall;

const

tuxws32='wtuxws32.dll';

kernel32='kernel32.dll';

implementation

functiontpinit;externaltuxws32;

functiontpterm;externaltuxws32;

functiontpcall;externaltuxws32;

functiontpacall;externaltuxws32;

functiontpalloc;externaltuxws32;

functiontprealloc;externaltuxws32;

proceduretpfree;externaltuxws32;

functiongettperrno;externaltuxws32;

functiontpstrerror;externaltuxws32;

functiongetFerror;externaltuxws32;

functionlstrcpyStr;externalkernel32name'lstrcpy';

functionlstrcpyPtr;externalkernel32name'lstrcpy';

functionFadd;externaltuxws32name'Fadd32';

functionFalloc;externaltuxws32;

functionFchg;externaltuxws32name'Fchg32';

functionFget;externaltuxws32name'Fget32';

functionFoccur;externaltuxws32name'Foccur32';

functionFgetInt;externaltuxws32name'Fget32';

functionFgetLong;externaltuxws32name'Fget32';

functionFgetstring;externaltuxws32name'Fget32';

functionFnum;externaltuxws32name'Fnum32';

functiontpbegin;externaltuxws32;

functiontpcommit;externaltuxws32;

functiontpabort;externaltuxws32;

end.

3、.profile配置示例

#@(#)$Revision:

72.2$

#Defaultuser.profilefile(/usr/bin/shinitialization).

#Setuptheterminal:

if["$TERM"=""]

then

eval`tset-s-Q-m':

?

hp'`

else

eval`tset-s-Q`

fi

sttyerase"^H"kill"^U"intr"^C"eof"^D"

sttyhupclixonixoff

tabs

#Setupthesearchpaths:

PATH=$PATH:

.

#Setuptheshellenvironment:

set-u

trap"echo'logout'"0

#Setuptheshellvariables:

EDITOR=vi

exportEDITOR

#oracleenv

ORACLE_HOME=/oracle/app/oracle/product/8.0.5

ORACLE_SID=cnc

ORACLE_TERM=vt100

ORA_NLS32=$ORACLE_HOME/ocommon/nls/admin/data

TMPDIR=/oracle/tmp

PATH=$PATH:

$ORACLE_HOME/bin:

$ORACLE_HOME

NLS_LANG=AMERICAN_AMERICA.ZHS16CGB231280

LD_LIBRARY_PATH=/oracle/app/oracle/product/8.0.5/lib:

/usr/lib

exportORACLE_HOMEORACLE_SIDORACLE_TERMLD_LIBRARY_PATH

TERM=vt100;exportTERM

exportORA_NLS32TMPDIRPATHNLS_LANGLD_LIBRARY_PATH

#tuxedoenv

TUXDIR=/opt/tuxedo;exportTUXDIR

PATH=$PATH:

$TUXDIR/bin;exportPATH

TUXINC_PATH=$TUXDIR/include;exportTUXINC_PATH

SHLIB_PATH=$TUXDIR/lib:

$SHLIB_PATH;exportSHLIB_PATH

COBCPY=:

$TUXDIR/cobinclude;exportCOBCPY

COBOPT="-CANS85-CALIGN=8-CNOIBMCOMP-CTRUNC=ANSI-COSEXT=cbl";exportCOBOPT

#tuxedoconfigenv

APPDIR=/oracle/sp3/bin;exportAPPDIR

TUXCONFIG=$APPDIR/tuxconfig;exportTUXCONFIG

4Ubb示例:

#ident"@(#)apps/simpapp/ubbsimple$Revision:

1.1$"

#SkeletonUBBCONFIGfilefortheTUXEDOSimpleApplication.

#Replacetheitemswiththeappropriatevalues.

*RESOURCES

IPCKEY32888

DOMAINIDsimpapp

MASTERsimple

MAXACCESSERS100

MAXSERVERS50

MAXSERVICES100

MODELSHM

LDBALN

*MACHINES

DEFAULT:

TUXDIR="/opt/tuxedo"

APPDIR="/oracle/sp3/bin"

TUXCONFIG="/oracle/sp3/bin/tuxconfig"

MAXWSCLIENTS=80

ULOGPFX="/oracle/sp3/bin/ULOG"

#TLOGDEVICE="/oracle/sp3/bin/TLOG"

#TLOGSIZE=100

"fiber"LMID=simple

*GROUPS

WSLGRP1LMID=simpleGRPNO=2

GROUP1LMID=simpleGRPNO=1

#TMSNAME=TMS_ORATMSCOUNT=2

#OPENINFO="Oracle_XA:

Oracle_XA+LogDir=/oracle/sp3+Acc=P/spgroup/spgroup+SesTm=60"

CY注:

如果用XA,必须设置TMSNAME、OPENINOF

*SERVERS

DEFAULT:

CLOPT="-A"

WSLSRVGRP=WSLGRP1SRVID=1

CLOPT="-A-t---n//192.168.100.57:

10000-m2-M4-x5"

CY注:

WSL地址必须与客户端WSNADRR设置一致

simpservSRVGRP

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 人文社科 > 法律资料

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2