PB 如何同时连接两个SQL数据库

定义了事务对象transaction rans_sqltest,但是用Using trans_sqltest时,总是提示没有定义rans_sqltest
2026年09月27日 14:08
有3个网友回答
网友(1):

给你copy一段吧:

PB连接多个数据库

2007-11-29 13:54:23| 分类: PB | 标签: |字号大中小 订阅

声明多个Transaction变量

Transaction SQLCA, SQLCB;
SQLCA = Create
Transaction;
SQLCB = Create
Transaction;
然后做相应配置
SQLCA.DBMS = "ODBC"

SQLCA.AutoCommit = False
SQLCA.DBParm =
"ConnectString='DSN=********;UID=***;PWD=*******"

SQLCB.DBMS = "ODBC"
SQLCB.AutoCommit = False

SQLCB.DBParm = "ConnectString='DSN=*******;UID=******;PWD=*******'"

使用的时候直接用Connect Using SQLCA就可以连接上SQLCA所对应的数据库,使用Connect Using
SQLCB则可以连接上SQLCB所对应的数据库,可以在程序中保持同时和多个数据库的连接,而不需要在连接使用完后DISCONNECT,因为频繁的使用CONNECT与DISCONNECT可能会导致很多意想不到的问题发生。

要注意的是:当我们在程序中使用SELECT等SQL语句时,PB默认的是使用SQLCA进行数据库连接,所以当使用SELECT等SQL语句的时候,必须在末尾加上USING
******

比如:

Select Name
Into: Ls_Name
From
Students
Where Number = :Ls_Number
Using NewTransaction;

网友(2):

Transaction mydb
mydb.DBMS = "O84 Oracle8/8i (8.x.4+)"
mydb.LogPass =""
mydb.ServerName = "fdztrun"
mydb.LogId = "system"
mydb.AutoCommit = False
connect using mydb;
select * from table using mydb;

网友(3):

把源码贴出来看下,