pb连接两个数据库问题
用pb连接oracle 和 sqlserver 数据库 建立了一个透明网关 但是在运行时还是连接不到一起 提示EAServer Exception:ORA-02019:未找到远程数据库的连接说明 这个问题怎么解决啊 还有怎么设置么?
[解决办法]
一、引言
近几年随着计算机在各个行业的逐渐推广和普及,数据库应用也有了很大的发展。各种数据库管理系统DBMS也被纷纷引入国内,如:
Informix、Sybase、Oracle、IBMDB2、Ingres等。在方便用户进行选择的同时,也带来了一些新的问题。例如一个大的水电发电厂,由于历
史和行业渐进性发展等原因,它的各部门分别采用Foxpro,Sybase,Oralce开发了一些应用,而现在,其计算机管理要由部门级上升到企业
级,那么为了减少开发费用,保护在已有数据库系统上的投资,就必须面对如何处理多个数据源的问题。在这方面,基于客户端的开发了工
具Powerbuilder当为首要的选择。
二、技术关键
Powerbuilder是美国Powersoft公司的产品。它是一种完全按照客户/服务器体系结构研制的开发系统。它除了能与内置的Watcom数据库
连接外,还可以连接Server端众多的大型数据库,如:Informix、Sybase、Oracle、IBMDB2等。Powerbuilder功能强大,它提供数据窗口这
个智能对象,利用该对象可以查询和更新数据库而无需有SQL编程。数据窗口操纵的数据源可以是表,视图,存储过程以及外部数据等几种类
型。在同一个窗口上,几个不同的数据窗口还可以同时对不同的数据库系统进行操作。另外,Powerbuilder还向用户提供了功能强大的
Powerscript语言,该语言类似于C语言,不但提供了400多个内部函数,而且定义了调用WindowsAPI函数的接口。通过数据窗口和
Powerscript语言的有机结合,利用它们为每个数据库连接定义一个事物对象,并用不同的事物对象分别操作不同的数据库,从而实现动态
操作多个数据源的工作。其示意为图一。
下面的程序介绍动态地往Oracle7和SybaseSQLServer 库中分别插入一条记录的方法:
TransactionSQLServerTrans //说明SQLServer的事物对象
SQLCA.DBMS ″OR7″ //设置数据库为Oracle7
SQLCA.Logid ″WU″ //设置用户名为“WU”
SQLCA.Logpass ″AW″ //设置口令为“AW”
SQLCA.servername ″T:scosysv:orac″ //设置服务器名
CONNECT;
SQLServerTransCREATETRANSACTION //创建SQLServer事物对象
SQLServerTrans.DBMS ″SYBASE″ //设置数据库为Sybase
SQLServerTrans.Logid ″LX″ //设置用户名为“LX”
SQLServerTrans.Logpass //设置口令为空
SQLServerTrans.servername ″SYBASE″ //设备服务器名
CONNECTUSINGSQLServerTrans; //连接到数据库Sybase
Insertintomaster(master-code)values(′A00001′)
UsingSQLServeTrans: //插入到Sybase一条记录
Insertintoemploy(ename)values(′LX′); //插入到Oracle一条记录
DISCONNECT; //断开到Oracle的连接
DISCONNECTUSINGSQLServerTrans; //断开到Sybase的连接
DESTROYSQLServerTrans; //消除事物对象SQLServerTrans
对本程序稍加修改,即可完成对其他数据源的操作。
[解决办法]
帮顶一下!