TUXEDO与ORACLE数据库的互连

合集下载

oracle数据库连接方法

oracle数据库连接方法

oracle数据库连接方法
Oracle数据库的连接方法有多种,以下列举两种常见的方式:
方法一:
1. 找到tnsnames.ora文件,打开后可以看到类似红色框中的配置。

2. 复制一份配置,放到tnsnames.ora文件底部,然后对其进行修改。

可以根据自己的情况设置四个位置:自定义数据库名、根据远程数据库地址修改地址、根据远程数据库端口号修改端口号、根据远程数据服务名修改服务名。

3. 修改完成后保存,再次打开PLSQL,只要填写正确的用户名密码,并选择刚刚自定义的数据库名,点击确定就可以连接数据库了。

方法二:
1. 从开始菜单中找到Oracle的Net Manager工具,单击打开。

2. 在Net Manager中,找到服务命名,可以看到刚刚配置的数据库名(服务命名),里面的配置和刚刚在tnsnames.ora文件修改的是一样的。

3. 在Navicat中改完重启后,再次打开Navicat,按照上图操作进入Oracle
新建连接界面。

连接oracle数据库的语句

连接oracle数据库的语句

连接oracle数据库的语句连接Oracle数据库是开发人员常常遇到的一个任务,下面我将列举一些连接Oracle数据库的语句,希望能够帮助你。

1. 使用SQL*Plus连接Oracle数据库:```sqlplus username/password@host:port/service_name```其中,`username`是Oracle数据库的用户名,`password`是密码,`host`是主机名,`port`是端口号,`service_name`是服务名。

2. 使用JDBC连接Oracle数据库:```import java.sql.Connection;import java.sql.DriverManager;import java.sql.SQLException;public class OracleJdbcExample {public static void main(String[] args) {String url = "jdbc:oracle:thin:@host:port:service_name";String username = "username";String password = "password";try {Connection connection = DriverManager.getConnection(url, username, password);System.out.println("Successfully connected to Oracle database!");// 执行其他操作...connection.close();} catch (SQLException e) {System.out.println("Failed to connect to Oracle database!");e.printStackTrace();}}}```其中,`url`是连接Oracle数据库的URL,`username`是用户名,`password`是密码,`host`是主机名,`port`是端口号,`service_name`是服务名。

Tuxedo性能调优经验谈

Tuxedo性能调优经验谈

Tuxedo性能调优经验谈Tuxedo 9.0 for AIX与Oracle 10 XA连接网友:chinakkee 发布于:2006.11.13 09:54(共有条评论) 查看评论| 我要评论系统说明TUXEDO版本:9.0 安装目录/opt/bea/tuxedo9.0ORACLE版本:10.2.0.1 安装目录/u01/app/oracle一、Tuxedo 9 for AIX的安装1、创建一个用户为Tuxedo,用户组为bea2、创建/opt/bea为tuxedo的安装目录,$mkdir /opt/bea$chown tuxedo.bea /opt/bea$chmod 770 /opt/bea#bootinfo -k64$ sh tuxedo9_aix53_64.bin -i consolePreparing to install...WARNING: /tmp does not have enough disk space!Attempting to use /home/tuxedo for install base and tmp dir.Extracting the JRE from the installer archive...Unpacking the JRE...Extracting the installation resources from the installer archive...Configuring the installer for this system's environment...Launching installer...Preparing CONSOLE Mode Installation...===================================================== ======Choose Locale...----------------->1- EnglishCHOOSE LOCALE BY NUMBER: 1===================================================== ======(created with InstallAnywhere by Zero G)-------------------------------------------------------------------------------===================================================== ======Introduction------------BEA End User Clickwrap 001205Copyright (c) BEA Systems, Inc.All Rights Reserved.DO YOU ACCEPT THE TERMS OF THIS LICENSE AGREEMENT? (Y/N): y===================================================== ======Choose Install Set------------------Please choose the Install Set to be installed by this installer.->1- Full Install2- Server Install3- Full Client Install4- Jolt Client Install5- ATMI Client Install6- CORBA Client Install7- Customize...ENTER THE NUMBER FOR THE INSTALL SET, OR PRESS TO ACCEPT THE DEFAULT : 1===================================================== ======Choose BEA Home---------------1- Create new BEA Home2- Use existing BEA HomeEnter a number: 21- /opt/beaExisting BEA Home directory: 1===================================================== ======Choose Product Directory------------------------1- Modify Current Selection (/opt/bea/tuxedo9.0)2- Use Current Selection (/opt/bea/tuxedo9.0)Enter a number: 2===================================================== ======Pre-Installation Summary------------------------Please Review the Following Before Continuing:Product Name:Tuxedo 9.0Install Folder:/opt/bea/tuxedo9.0Link Folder:/home/tuxedoDisk Space Information (for Installation Target):Required: 386,803,702 bytesAvailable: 2,625,392,640 bytesPRESS TO CONTINUE:===================================================== ======Ready To Install----------------InstallAnywhere is now ready to install Tuxedo 9.0 onto your system at thefollowing location:/opt/bea/tuxedo9.0PRESS TO INSTALL:===================================================== ======Installing...-------------[==================|==================|=============== =][------------------|------------------|------------------|------------------]===================================================== ======Configure tlisten Service-------------------------Password: tuxedoVerify Password: tuxedoPassword Accepted! Press "Enter" to continue.===================================================== ======SSL Installation Choice.------------------------Would you like to install SSL Support?->1- Yes2- NoENTER THE NUMBER FOR YOUR CHOICE, OR PRESS TO ACCEPT THE DEFAULT:: 2===================================================== ======License Installation Choice---------------------------Would you like to install your license now?->1- Yes2- NoENTER THE NUMBER FOR YOUR CHOICE, OR PRESS TO ACCEPT THE DEFAULT:: 2===================================================== ======Installation Complete---------------------Congratulations. Tuxedo 9.0 has been successfully installed to:/opt/bea/tuxedo9.0PRESS TO EXIT THE INSTALLER:安装完毕,需要把license文件重命名为lic.txt copy到$TUXDIR/udataobj/二、TUxedo 9 连接Oracle 10g配置前提是在Tuxedo 9 上安装Oracle 10g client还有安装C编译器(不一定要用Visual Age C/C+用户能够通过sqlplus连接oracle数据库1、ORACLE的的配置sqlplus[email=system@testcrm]system@testcrm[/email]SQL> @$ORACLE_HOME\rdbms\admin\xaview.sqlSQL>grant select on v$xatrans$ to public with grant option;SQL>grant select on v$pending_xatrans$ to public with grant option;SQL>grant select EMP to ScottSQL>GRANT SELECT ON DBA_PENDING_TRANSACTIONS TO Scott;注:scott默认为lock,需要用alter user scott account unlock,解锁。

pyodbc连接oracle 的connect用法-概述说明以及解释

pyodbc连接oracle 的connect用法-概述说明以及解释

pyodbc连接oracle 的connect用法-概述说明以及解释1.引言1.1 概述在现代软件开发中,使用数据库是非常常见的需求。

而对于Python 开发人员来说,连接不同类型的数据库是必不可少的技能之一。

本文将重点介绍如何使用pyodbc库来连接Oracle数据库,具体来说是通过connect函数的用法。

在介绍pyodbc连接Oracle数据库的用法之前,我们首先需要了解pyodbc的基本概念和特点。

pyodbc是一个Python对ODBC(Open Database Connectivity)的封装库,它允许Python程序与SQL数据库进行交互,包括连接数据库、执行SQL语句以及获取查询结果等操作。

因此,通过pyodbc可以实现Python程序与Oracle数据库之间的无缝交互。

本文将以建立连接为例,详细介绍pyodbc库中connect函数的用法,帮助读者快速掌握如何在Python中连接Oracle数据库,从而为后续的数据操作提供基础支持。

希望本文能够帮助读者更加深入地了解pyodbc 库的使用方法,从而提升数据库操作的效率和准确性。

"1.2 文章结构"部分介绍了整篇文章的结构安排,包括引言、正文和结论三个部分。

引言部分主要说明了文章的概述、结构和目的,正文部分将详细介绍pyodbc的概念和Oracle数据库连接的方法,以及pyodbc 中connect函数的具体用法。

结论部分将总结文章的重点内容,并给出使用建议和未来的展望。

整篇文章的结构清晰明了,有助于读者快速了解文章内容,并对相关知识有一个系统性的了解。

1.3 目的本篇文章旨在介绍如何使用pyodbc库连接Oracle数据库,并重点介绍了connect函数的用法。

通过阅读本文,读者将了解到pyodbc库的基本概念和特点,以及如何在Python中通过pyodbc实现与Oracle数据库的连接。

除此之外,文章还将详细说明connect函数的用法,帮助读者更好地理解如何在代码中使用这一函数来实现数据库连接操作。

pyodbc连接oracle 的connect用法

pyodbc连接oracle 的connect用法

pyodbc连接oracle 的connect用法全文共四篇示例,供读者参考第一篇示例:在Python编程语言中,pyodbc是一种流行的数据库连接库,它可以帮助开发者在Python代码中连接各种类型的数据库。

在本文中,我们将重点介绍如何使用pyodbc连接Oracle数据库,并详细介绍connect方法的用法。

要使用pyodbc连接Oracle数据库,我们需要安装pyodbc库和Oracle数据库驱动程序。

可以通过pip工具来安装pyodbc库,在命令行中输入以下命令:```pip install pyodbc```接下来,需要安装Oracle数据库驱动程序。

Oracle数据库有多种版本和类型的驱动程序,可以根据具体情况选择合适的版本。

安装驱动程序后,就可以开始使用pyodbc连接Oracle数据库了。

在连接Oracle数据库之前,我们首先需要获取数据库的连接信息,包括数据库的主机地址、端口号、数据库实例名、用户名和密码等。

这些信息都是连接Oracle数据库所必需的。

下面是一个使用pyodbc连接Oracle数据库的示例代码:# 设置数据库连接信息host = 'localhost'port = '1521'database = 'ORCL'user = 'username'password = 'password'# 构建连接字符串conn_str = (r"Driver={{Oracle in OraClient11g_home1}};"r"Server={host}:{port};"r"Database={database};"r"Uid={user};"r"Pwd={password};")# 连接数据库conn = pyodbc.connect(conn_str)# 创建游标cursor = conn.cursor()# 执行查询语句cursor.execute("SELECT * FROM table_name")# 读取结果集for row in cursor:print(row)# 关闭连接conn.close()```在上面的示例代码中,我们首先设置了数据库连接信息,包括主机地址、端口号、数据库实例名、用户名和密码。

tuxedo详细安装步骤

tuxedo详细安装步骤

tuxedo详细安装步骤Tuxedo使用Non-XA模式连接Oracle数据库实验的网络拓扑图:软件安装环境:3台主机都安装Cent OS 5.3操作系统,第1台主机作为Tuxedo的客户端,只安装Tuxedo客户端(IP:192.168.1.61);第2台主机作为Tuxedo服务器安装Tuxedo Server,还要连接Oracle服务器,还安装了Oracle Client11gR2(IP:192.168.1.66);第三台主机作为Oracle数据库服务器,只安装Oracle11gR2(IP:192.168.1.81)。

实验目的:了解Tuxedo使用Non-XA方式连接Oracle数据库。

通过客户端发送一个请求到Tuxedo服务器,再由Tuxedo服务器连接Oracle服务器,把客户端发送的信息写入数据库表。

实验步骤:1.安装Tuxedo的演示程序SimpApp (使用主机1和主机2) 2.作一个Pro/C的Demo,来连接Oracle数据库(使用主机2和主机3) 3.把第1步和第2步合并到一起,完成该实验 4.测试并排错安装前准备:要使Tuxedo服务器,能连接到Oracle服务器。

Oracle服务器的实例名称为stone,在Tuxedo服务器上安装Oracle客户端后,建立一个服务,使其能够连接到Oracle数据库服务器。

在Tuxedo Server(主机2)上,先建立网络服务,再连接到Oracle数据库服务器,使用hr用户,并建立一个测试表:◆网络服务的名称为stone,结果为$ORACLE_HOME/network/admin目录下的tnsnames.ora文件 [oracle@myapache ~]$cd/u01/app/oracle/product/11.2.0/client_1/network/admin/ [oracle@myapacheadmin]$lssamples shrept.lst sqlnet10031011AM2455.bak sqlnet.ora tnsnames.ora[oracle@myapache admin]$vi tnsnames.ora # tnsnames.ora Network ConfigurationFile:/u01/app/oracle/product/11.2.0/client_1/network/admin/tnsnames.ora #Generated by Oracle configuration tools. STONE = (DESCRIPTION =(ADDRESS_LIST =(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.1.81)(PORT = 1521)) )(CONNECT_DATA = (SERVICE_NAME = stone) ) )◆建立测试表[oracle@myapache ~]$sqlplus hr/hr@stoneSQL*Plus: Release11.2.0.1.0 Production on Wed Mar 10 21:17:22 2021Copyright (c) 1982, 2021, Oracle. All rights reserved.Connected to:Oracle Database11gEnterpriseEdition Release11.2.0.1.0 - Production Withthe Partitioning, OLAP, Data Mining and Real Application Testing optionsSQL>create table t_test1( 2 zj number, 3 name varchar2(20) 4 ); Tablecreated.SQL>insert into t_test1 values(1, 'aaa'); 1 row created.SQL>commit; Commit complete.SQL>select * from t_test1; ZJ NAME ---------- -------------------- 1 aaa SQL>◆在主机2上还要把Oracle用户的环境变量设置好,使其能正确编译pro/c程序[oracle@myapache ~]$ vi .bash_profile设置好以下环境变量# User specific environment and startup programsORACLE_HOME=/u01/app/oracle/product/11.2.0/client_1 export ORACLE_HOMELD_LIBRARY_PATH=$ORACLE_HOME/libLD_LIBRARY_PATH=${LD_LIBRARY_PATH}:$ORACLE_HOME/oracm/libLD_LIBRARY_PATH=${LD_LIBRARY_PATH}:/lib:/usr/lib:/usr/local/lib exportLD_LIBRARY_PATHPATH=$PATH:$ORACLE_HOME/bin export PATHstty erase ^H (完)测试一下Pro/C是否正确 [oracle@myapache ~]$procPro*C/C++: Release11.2.0.1.0 - Production on Thu Mar 11 01:16:42 2021Copyright (c) 1982, 2021, Oracle and/or its affiliates. All rightsreserved.System default option values taken from:/u01/app/oracle/product/11.2.0/client_1/precomp/admin/pcscfg.cfg(下面内容从略)一、安装Tuxedo的演示程序SimpApp,并完成Tuxedo客户端访问服务器的配置1.在主机2上安装Tuxedo10gR3 Server建议采用字符安装界面,在安装过程中选择安装上Sample,以便运行SimpApp例子[root@myapache ~]#cd /home/OraFile/[root@myapache OraFile]#unzip tuxedo10gR3_32_Linux_01_x86.zip[root@myapache OraFile]#chmod +x tuxedo10gR3_32_Linux_01_x86.bin[root@myapache OraFile]#./tuxedo10gR3_32_Linux_01_x86.bin -i console Extracting the JRE from the installer archive... Unpacking the JRE...Extracting the installation resources from the installer archive... Configuring the installer for this system's environment...Launching installer... (比较重要的地方) Choose Oracle Home ------------------1- Create new Oracle HomeEnter a number:1Specify a new Oracle Home directory:/bea感谢您的阅读,祝您生活愉快。

ORACLE的客户端如何连接到数据库

ORACLE的客户端如何连接到数据库Oracle是一种常用的关系数据库管理系统(RDBMS),它提供一个功能强大的数据库服务器,用于存储和管理大量的结构化数据。

在使用Oracle时,客户端需要与数据库服务器建立连接以进行数据访问和操作。

下面是使用Oracle客户端连接到数据库的步骤及相关说明。

1. 安装Oracle客户端软件:该软件包含了用于连接Oracle数据库服务器的组件和工具。

在安装过程中,需要指定要安装的组件和目标目录,并配置所需的连接参数。

2. 配置Oracle客户端:在安装完成后,需要进行一些配置和设置以确保Oracle客户端与数据库服务器之间的连接顺利。

这些包括设置网络协议、监听器等。

3. 创建数据库连接信息:在Oracle客户端中需要配置数据库连接信息。

连接信息包括数据库服务器名称或IP地址、监听器端口号、服务名称或SID等等。

这些信息将用于构建连接字符串。

4.构建连接字符串:连接字符串是用于建立与数据库服务器的连接的参数集合。

它通常包含用户名、密码、数据库服务器地址、监听器端口号、服务名称或SID等。

5. 使用连接字符串连接数据库:在Oracle客户端提供的工具中,使用连接字符串连接到数据库服务器。

这些工具可以是SQL*Plus、SQL Developer、TOAD等。

连接过程中,需要提供连接字符串、用户名和密码。

6. 进行数据库操作:完成连接后,可以使用SQL语句或其他Oracle工具进行数据库操作,如查询数据、插入、更新和删除数据等。

根据需要,还可以执行数据库管理任务,如创建表、索引、存储过程等。

7. 断开与数据库服务器的连接:完成数据库操作后,需要断开与数据库的连接以释放资源。

在Oracle客户端的退出操作中,可以选择断开连接或保持连接。

总结:连接到Oracle数据库需要安装Oracle客户端软件,并进行相关的配置和设置。

然后,配置数据库连接信息并构建连接字符串,使用连接字符串连接到数据库服务器。

TUXEDO管理配置中文说明

Tuxedo的配置管理简要说明Tuxedo的配置管理简要说明 (1)一、Tuxedo基本命令 (2)二、UBB文件配置说明 (3)三、数据库XA设置 (8)3.1 ORACLE XA (8)3.2 SYBASE XA (9)3.3 INFORMIX XA (9)四、Tuxedo多机方式配置要点 (10)4.1启动tlisten (10)4.2 ubb文件配置 (10)4.3管理 (11)五、用JOLT连接Tuxedo和Weblogic (12)5.1在Tuxedo上安装、配置JOLT Server (12)5.2 配置Weblogic Server 6.x (13)5.3 Example setup (13)六、TUXEDO动态配置 (14)6.1 用tmadmin修改配置 (14)6.2 用tmconfig更改TUXCONFIG(UBBCONFIG) (14)一、Tuxedo基本命令#1.设臵环境变量TUXDIR,APPDIR,TUXCONFIG,LANG(跟OS相关),LD_LIBRARY_PATH(跟OS相关)#2.编译ubb文本生成二进制配臵文件:tmloadcf –y ubbconfig#3.所有机器上运行tlisten,具体见文档中NETWORK一节#4.启动tmboot –y#5.关闭tmshutdown –y参数:-A 在所有机器上启动/关闭管理的Server进程-M 只在MASTER机器上启动/关闭管理的Server进程-i srvid启动/关闭某个server id指定的Server进程-g grpname 启动/关闭某个server group名字指定的Server Group-S启动/关闭所有应用服务器(LMID)-s server-name启动/关闭某个server名字指定的Server进程-l lmid option 在指定的机器上启动/关闭所有TMS进程和应用服务器(LMID)-T grpname 启动/关闭指定的server group中所有的TMS进程-B lmid在指定的机器上启动/关闭BBL进程-e command 指定一个程序可以当在MASTER机器上启动任何一个进程失败时执行-c计算出当前UBB配臵的Tuxedo启动最少要占用的系统IPC资源#用tmunloadcf > generated.ubb 可以得出目前配臵得UBB文件所有得参数值(没有设臵的有缺省值)#用tmloadcf –c或tmboot –c可以计算出当前UBB配臵的Tuxedo启动最少要占用的系统IPC资源。

ado连接oracle数据库

m_pwd="crmdbo";//密码
BOOL retFt=false;
HRESULT hr;
try
{
hr = m_pConnection.CreateInstance("ADODB.Connection");///创建Connection对象
if(SUCCEEDED(hr))
{
_bstr_t connStr;
//begin---------------Oracle 微软格式---------------------------------------
// connStr="Provider=MSDAORA.1;User ID=njcrm;Password=crmdbo;Data Source=192.168.0.24;Persist Security
Info=False";
// m_pConnection->Open(_bstr_t(connStr),(_bstr_t)_T(""),(_bstr_t)_T(""),adConnectUnspecified);
//end---------------Oracle 微软格式---------------------------------------
{
if(!AfxOleInit())//这就是初始化COM库
{
AfxMessageBox(“OLE初始化出错!”);
return FALSE;
}
}
3.ADO库包含三个基本接口:_ConnectionPtr接口、_CommandPtr接口和_RecordsetPtr接口。与数据库的连接就是用_ConnectionPtr接口,它的连接字符串可以是自己直接写,也可以指向一个ODBC DSN。以下的例子都测试通过,顺便写了SQL Server的例子。

组态王与Oracle数据库的连接

组态王与Oracle数据库的连接问题声名:在使用Oracle作为数据时应先考虑随数据库软件所携带ODBC版本问题(针对X86系统而言),在使用过程中发现早期的Oracle所提供的ODBC版本不能正常在Win2000下运行(8 AND 8i),可以到Oracle的官方网站下在最新的ODBC版本(WWW. )。

如使用其它版本数据库也应考虑其ODBC的版本,以避免不必要的麻烦。

关于数据类型:组态王的数据类型与Oracle数据类型的对应关系:(建议)整型←→Number实型←→Number字符串←→Char离散型和时间类型转换为字符串型再进行处理。

建议使用组态王来创建数据库中的表,如果直接使用Oracle 的Schema管理工具来创建表的话建议不要设置数据类型的”Precision”和”Scale”属性数据库表的建立:Oracle数据库的结构简单的说可以表示为数据库→模式(Schema)→表(Table)→记录。

Oracle数据库中的模式与用户帐号是一一对应的。

(如使用System用户登陆则只能对System模式中的数据库表进行操作,虽然在有些情况下可以浏览其它数据表但不可操作)。

Oracle数据库在成功安装之后创建了一些系统自定义的模式和数据表,(如System 等),建议在使用时确保系统可靠,通过自定义创建新的模式(Schema)共我们使用。

下简述模式的建立方法(更详细的信息请参考Oracle的相关资料,本说明是以Oracle 8为例):1、启动“Database Administration Tools”;2、使用“Schema”建立自定义的模式;3、参加下图:4、单击”User→Create”;5、弹出Create User窗口进行用户(模式)的添加;(以下设置只是参考)Fame→模式名;Profil→缺省即可;Authentication→认证方式缺省即可(不同的认证方式设置不同);Tablespaces:Defaul→”User_Data”;Temporary→” User_Data”;Status→”Unlocked”;6、选择“Roles/privileges”设置此用户的操作和管理权限。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

TUXEDO与ORACLE数据库的互连前言在银行、电信、金融等行业的大型计算机应用系统中,中间件的使用日益普及,中间件已与操作系统、数据库并列为三大基础软件。

BEA Tuxedo作为最优秀的中间件产品,在我国的很多行业中广泛使用,本文通过一个简单的例子介绍如何在TUXEDO中访问ORACLE数据库。

在两层的C/S结构中,客户端直接访问数据库,当采用TUXEDO中间件后,形成三层结构。

这时,客户端不直接访问数据库,而是改为调用中间件TUXEDO服务端上的服务,由TUXEDO服务端访问数据库,并把结果返回给客户端。

TUXEDO服务端可以和ORACLE在同一台服务器上,也可以在不同的机器上,如果在不同的机器上,在TUXEDO的服务端所在的机器要安装一个ORACLE的客户端。

TUXEDO服务端与ORACLE数据库连接有两种方式:1、不通过XA接口直接互连。

适用于整个系统只有一个数据库的情况。

2、通过XA接口互连,对整个系统有一个数据库或多个数据库都适用,建议采用,本文介绍这种互连的配置方法。

系统说明TUXEDO版本:7.1 安装目录d:\tuxedo71ORACLE版本:8.1.5 安装目录d:\ora81操作系统:win2000配置的步骤一、ORACLE的的配置1.用internal用户(缺省的口令是oracle)进入SQLPLUSC:\>sqlplus internal/oracle2.运行ORACLE的安装路径下的/rdbms/admin/xaview.sqlSQL> @d:\ora81\rdbms\admin\xaview.sql3.授权SQL>grant select on v$xatrans$ to public with grant option;SQL>grant select on v$pending_xatrans$ to public with grant option;4. 用system用户(缺省的口令是manager)连接并授权SQL>connect system/managerSQL>grant select any table to public;二、TUXEDO的配置1.修改TUXEDO安装路径的udataobj目录下的RM文件,把以Oracle_XA:xaosw:开头的一行用#注释掉,并加入一行:Oracle_XA;xaosw;d:\ora81\rdbms\xa\oraxa8.lib d:\ora81\precomp\lib\msvc\orasql8.lib如果是在UNIX环境下,则为:Oracle_XA:xaosw:-L${ORACLE_HOME}/lib -lclntsh2. 在TUXEDO用户下创建TMS文件:TMS_ORA8i,TUXEDO通过TMS_ORA8i与ORACLE数据库采用XA协议进行通讯buildtms -o d:\tuxedo71\bin\TMS_ORA8i -r Oracle_XA注意:如果TUXEDO 服务端与ORACLE数据库不在同一台服务器上,可能会提示找不到库文件oraxa8.lib 和orasql8.lib,可到ORACLE数据库的服务端相应目录下把这两个文件拷到当前机器ORACLE的客户端下的对应目录下。

3. 配置UBBCONFIG(1)在*MACHINES节中增加:TLOGDEVICE = "/home/oracle/temp/simpdb/TLOG"TLOGNAME=TLOGTLOGSIZE=200(2)改*GROUPS节的配置为:(scott/tiger为本数据库所采用的用户及口令,可根据需要更改)*GROUPSGROUP1 LMID=simple GRPNO=1OPENINFO="Oracle_XA:Oracle_XA+Acc=P/scott/tiger+SesTm=600+MaxCur=5+LogDir=."TMSNAME="TMS_ORA8i" TMSCOUNT=2修改后的配置文件ubb内容如下,用tmloadcf -y ubb重新生成tuxconfigIPCKEY 123456DOMAINID simpappMASTER simpleMAXACCESSERS 100MAXSERVERS 50MAXSERVICES 100MODEL SHMLDBAL N*MACHINESserver LMID=simpleAPPDIR="d:\test"TUXCONFIG="d:\test\tuxconfig"TUXDIR="d:\tux71"TLOGDEVICE = "d:\test\TLOG"TLOGNAME=TLOGTLOGSIZE=100*GROUPSGROUP1 LMID=simple GRPNO=1OPENINFO="Oracle_XA:Oracle_XA+Acc=P/scott/tiger+SesTm=600+MaxCur=5+LogDir=."TMSNAME="TMS_ORA8i" TMSCOUNT=2*SERVERSDEFAULT:CLOPT="-A"test SRVGRP=GROUP1 SRVID=1*SERVICES4.重命名下列文件,因为下列文件名与ORACLE带的文件名有冲突,所以要改名。

(1)TUXEDO安装路径include目录下的下面文件把sqlca.h 改名为sqlca.h.bbb把sqlcode.h 改名为sqlcode.h.bbb把sqlda.h 改名为sqlda.h.bbb(2)重命名TUXEDO安装路径lib目录下的下面文件把libsql.lib 改名为libsql.lib.bbb5.用TMADMIN创建TLOG文件,TUXEDO用一个文件TLOG记录对数据库操作的日志。

用于协调分布式数据库的提交与回滚。

D:\>tmadmin>crdl -b 500 -z d:\test\TLOG>crlog -m simple>q三、服务端的程序:test.pc功能:根据客户端传的EMPNO到表EMP中取ENAME的值,并把它返回给客户端#include <stdio.h>#include <atmi.h>#include <userlog.h>EXEC SQL INCLUDE sqlca;EXEC SQL BEGIN DECLARE SECTION;long al_empno=0;char ac_ename[11]="";EXEC SQL V AR ac_ename IS STRING(11);EXEC SQL END DECLARE SECTION;TEST(TPSVCINFO *rqst){/*接收客户端来的数据*/al_empno = (FBFR32 *)rqst->data;EXEC SQL select ename into :ac_ename from EMP where empno=:al_empno;if(sqlca.sqlcode!=0){Userlog("select from EMP failure,sqlcode=%ld,sqlerr=%s\n",sqlca.sqlcode,(char *)sqlca.sqlerrm.sqlerrmc); strcpy(rqst->data,sqlca.sqlerrm.sqlerrmc);tpreturn( TPFAIL,0,rqst->data,0,0 );}/*把取出的结果返回给客户端*/strcpy(rqst->data,ac_ename);tpreturn( TPSUCCESS,0,rqst->data,0,0 );}四、编写客户端程序: testcli.c功能:调用TUXEDO服务端的服务TEST,取EMPNO=1000所对应的ENAME的值,并显示出来#include <stdio.h>#include "atmi.h"main(argc,argv){long reqlen=1024;char *reqbuf;/* 与TUXEDO服务端建立连接*/if (tpinit((TPINIT *) NULL) == -1){(void) fprintf(stderr,"Tpinit failed\n");exit(1);}/* 分配发送缓冲区*/reqbuf = (char *)tpalloc("STRING",NULL,reqlen);if ( reqbuf == (char *)NULL){printf("tpalloc failed\n");tpterm();}strcpy(reqbuf,"1000");/*调用TUXEDO的服务TEST*/if (tpcall("TEST",(char *)reqbuf,0L,(char **)&reqbuf,(long *)&reqlen,0< 0 ){printf("tpcall failed,tperrno=%ld,tperrtext=%s\n",tperrno,tpstrerror(tperrno));tpfree(reqbuf);tpterm();exit(1);}printf("name=%s\n",reqbuf);tpfree(reqbuf);tpterm();return(0);}五、编译服务端程序1.用ORACLE的PROC把test.pc 文件预编译成test.c文件d:\test> proc test.pc include=%TUXDIR%/include2.用buildserver把test.c编译成可执行文件,注意-r 后带的Oracle_XA 与RM文件中的一致。

d:\test> buildserver -o simpserv -f simpserver.c -r Oracle_XA -s TEST六、编译客户端程序d:\test> buildclient -o testcli -f testcli.c七、用tmboot –y 启动TUXEDO应能看到所有的SERVER都启动成功。

相关文档
最新文档