TUXEDO8.1例子程序bankapp要点提示

原创 2003年06月12日 11:34:00

TUXEDO8.1例子程序bankapp要点提示

TUXEDO带的bankapp在使用的时候会碰到一些问题,做少量修改就可以使用。
现把一些关键之处进行说明。
注:
 详细的使用说明请参考TUXEDO8.1的文档“Tutorial for bankapp, a Full C Application”一节。
 此处只针对可能出错的地方进行说明。

环境:
 TUXEDO8.1,WINDOWS2000,安装Microsoft Visual Studio.net(VC7)。

一:对使用Tuxedo Sql Resource Manager(默认)要注意的问题: 
设置环境变量:
 脚本bankvar中作如下设置:
 set MSDEV=D:/Program Files/Microsoft Visual Studio .NET/Vc7
 set PATH=%PATH%;%MSDEV%/bin;%MSDEV%/PlatformSDK/bin
 set INCLUDE=%INCLUDE%;%MSDEV%/include;%MSDEV%/PlatformSDK/include;%MSDEV%/atlmfc/include
 set LIB=%LIB%;%MSDEV%/lib;%MSDEV%/PlatformSDK/lib;%MSDEV%/atlmfc/lib
 
MAKEFILE:
 对bankapp/nt/client/client.mak做如下更改:
 原始:
 bankappn.rbj: bankappw.res
  cvtres -machine:$(MACH) -nologo bankappw.res -out:bankappn.rbj
 改为:
 bankappn.rbj: bankappw.res
  cvtres -machine:$(MACH) -nologo -out:bankappn.rbj bankappw.res
 说明:
  cvtres的参数要按顺序,否则会报错,可以用cvtres/?查看参数格式。
  
 不必单编译每个应用,如果你的MAKEFILE名为bankapp.mak,则使用如下命令编译:
  nmake -f bankapp.mak
  
 注意:由于如D:/Program Files/..形式的目录中含有空格,在MAKEFILE中如使用-I$(INCLUDEDIR)等形式的声明,
  则解析时会在遇到空格处截断,造成编译失败。所以,如果遇到这样的问题,尽量使用-I"$(INCLUDEDIR)"的形式。
  
Create Database: (user Tuxedo Sql resource manager)
Create TLOG:
Boot bankapp:
 如果建库的时候出错,删掉文件bankdl1,bankdl2,bankdl3,TLOG,
 清除IPC资源(采用命令:ipclean, 用ipcs查看IPC情况),
 重新运行:
  crbank
  crtlog -m
 如果这两步都正确了。运行tmboot,如果应用boot失败,则用ipcs看看IPC占用情况,
 用ipclean清除所有IPC资源,再tmboot试试。
 
 boot成功后运行bankappn.exe可以弹出一个WINDOWS界面的客户端程序。

 
二:对使用Oracle8(XA RM)要注意的问题:

环境:Oracle817, 安装在本机,其他环境同上。

在MAKEFILE中变量设置:
 Oracle817中precompile的目录在$(ORACLE_HOME)/precomp,而不是$(ORACLE_HOME)/pro80,应做相应改正。
 precompile的程序是$(ORACLE_DIR)/proc,而不是$(ORACLE_DIR)/proc80,应做相应改正。
 
对程序的修改:
 bankapp的程序需要做如下修改方可使用Oracle编译:
 1.所有的*.ec文件中增加以下三行:
  #include <sqlda.h>
  #include <sqlca.h>
  #include <sqlcpr.h>
  删除
  #include <sqlcode.h>
 2.在文件bankflds.h中增加如下定义:
  #define SQLCODE  sqlca.sqlcode
  #define SQLNOTFOUND -100
  #define SQL_OK  0
  #define QLDEADLOCK -43 /* killed because of timeout or deadlock */
  出现SQLCODE没有定义等错误就是由于没有定义这几个宏。
 3.在util.c中增加:
  #include "bankflds.h"
 4.在文件TLR.ec中增加:
  #include <Uunix.h>

避开文件冲突:
 TUXEDO带有sqlca.h,sqlda.h,sqlcode.h,可能会与Oracle的相同文件冲突,
 建议将$(TUXDIR)/include目录下的这三个文件改名。
 
做好上面的修改,就可以按照Tutorial的说明进行编译了。

创建数据库:
BOOT应用:
 tmboot,如果TMS_ORA fail, 检查ULOG文件,若出现如下信息:
150049.LHL!BBL.1500.1608.0: 06-11-2003: Tuxedo Version 8.1 32-bit Windows.
150049.LHL!BBL.1500.1608.0: LIBTUX_CAT:262: INFO: Standard main starting
150049.LHL!TMS_ORA.1984.1936.0: 06-11-2003: Tuxedo Version 8.1 32-bit Windows.
150049.LHL!TMS_ORA.1984.1936.0: LIBTUX_CAT:262: INFO: Standard main starting
150103.LHL!TMS_ORA.1984.1936.0: CMDTUX_CAT:409: ERROR: xa_recover() returned -3 for group BANKB1
150103.LHL!TMS_ORA.1984.1936.0: LIBTUX_CAT:250: ERROR: tpsvrinit() failed
150103.LHL!tmboot.1280.1504.-2: 06-11-2003: Tuxedo Version 8.1 32-bit Windows.
150103.LHL!tmboot.1280.1504.-2: CMDTUX_CAT:825: ERROR: Process TMS_ORA at SITE1 failed with /T tperrno (TPESYSTEM - internal system error)
 则可能是运行crbank-ora8.sql创建的Oracle用户user1,user2,user3没有被赋予SELECT的权限,
 使用Oracle的工具(如DBASTUDIO)对用户赋予SELECT ANY TABLE的权限。
 使用tmshutdown,ipclean清除IPC,重新启动tmboot,现在应该可以BOOT起来了。

运行TRANSACTION:
 在WINDOWS上运行TRANSACTION的脚本是gt.cmd,而不是运行driver,打开这个脚本看看就明白了。
 

Win XP环境Tuxedo8.1安装、配置指南

1.     准备 下载Tuxedo For Windows版本和License文件,本机采用的是Tuxedo8.1 windows版本。选择完全安装,具体Windows安装过程略(一路Ne...
  • djl310
  • djl310
  • 2011年08月31日 08:41
  • 1235

tuxedo8.1 下载地址

 tuxedo8.1 下载地址Red Hat Enterprise Linux (AS 2.1) http://ftpmain.bea.com/download/pub/tuxedo...81_inl...
  • sjwbcb
  • sjwbcb
  • 2009年11月14日 11:24
  • 3907

handler的机制和例子解析

一:什么是handler:   今天学了handler,感觉用的还是蛮多的,所以做了一下总结,先来了解下下面的几个重要的组件 1:Message:Hander接收和处理消息对象 2:looper:每一...
  • qq_25591985
  • qq_25591985
  • 2016年01月15日 12:08
  • 1241

BEA TUXEDO的学习

 BEA dev2dev BBS Tuxedo 精华总结BEA dev2dev 中国网站 http://dev2dev.bea.com.cn 版权所有TUXEDO 精华贴总结总结人:彭建新 (DEV2...
  • Swerye
  • Swerye
  • 2007年03月26日 22:24
  • 5526

TensorFlow基础知识点(四)取回/Fetches

为了取回操作的输出内容 , 可以在使用 Session 对象的run()调用执行图时 , 传入一些tensor, 这些 tensor 会帮助你取回结果 . 在之前的例子里 , 我们只取回了单个节点st...
  • qq_15807167
  • qq_15807167
  • 2017年03月14日 14:23
  • 309

餐饮小程序怎么制作

餐饮小程序怎么制作,餐饮小程序,也许对于普通人来说,对小程序还没有那么大的敏感度,但是对于餐饮行业来说,小程序绝对是火了整个餐饮行业,目前,餐饮小程序已经为很多餐饮企业带来了红利,餐饮小程序又是如何助...
  • xap950809
  • xap950809
  • 2017年07月25日 17:19
  • 355

复习要点提示||类和对象

本章节的编排拓展思路: OOP的编程概念方法的特性 >>>C++提供了类这种符合这些特性的类型 >>>比较过程性编程和OOP编程的思维差异,从而引出类对象的O...
  • tangfmly
  • tangfmly
  • 2017年07月16日 16:17
  • 80

Unity项目中UI同学需知的程序相关要点

原文地址:http://www.jianshu.com/p/5a11073e2b77 背景和目的 本文的背景是Killer项目已进行到了一定阶段。虽然之前定下了UI制作规范,但中途也更新了...
  • liangZG_2011
  • liangZG_2011
  • 2015年02月09日 22:18
  • 748

web应用系统测试要点

web应用系统是目前最常见的应用系统之一,例如电子商务网站,就是一种典型的web应用系统,关于测试要点,我认为可以有以下几点:   当我们在进行web应用系统的测试时,我们可以做这样一个假设:如...
  • gzh0222
  • gzh0222
  • 2011年08月02日 09:47
  • 1045

OpenCV简单示例

 // Demo.cpp : 定义控制台应用程序的入口点。//#include "stdafx.h"#include "highgui.h"#include "cv.h"#include "cxcor...
  • xiaofengsheng
  • xiaofengsheng
  • 2009年11月16日 01:13
  • 3883
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:TUXEDO8.1例子程序bankapp要点提示
举报原因:
原因补充:

(最多只允许输入30个字)