一个程序同时使用两个数据库,事务对象的说明应该放在哪里?谢谢!
小弟正在编写单位的软件,因为要利用上原有的数据库,还要加上新增的数据库,所以程序中有两个数据库(如code.db代码库,stnd.db标准库)。
我定义了两个库的数据源(都是ASA7),在PB的ODBC管理中设置了数据库配制文件。
现在问题是:
我需要两个事务对象来连接这两个数据源(连接代码附后,没有问题,可以连接上),如果我在应用程序对象的open()事件中写这段代码,则在写检索窗口的代码时,两个数据窗口的script都warning,splca_stnd/sqlca_code两个变量没有定义。我以为是要在应用程序对象的open事件定义时定义成全局变量global,可在前面加上global,又提示global variable must be declared inside a routine。
请问各位高手,使用两个transaction变量的时候,应该在哪里定义他们呢?
谢谢!
//连接数据库
transaction sqlca_stnd
transaction sqlca_code
sqlca_stnd=create transaction
sqlca_code=create transaction
// Profile stnd
sqlca_stnd.DBMS = "ODBC"
sqlca_stnd.AutoCommit = False
sqlca_stnd.DBParm = "ConnectString='DSN=stnd;UID=dba;PWD=sql'"
connect using sqlca_stnd;
// Profile code
sqlca_code.DBMS = "ODBC"
sqlca_code.AutoCommit = False
sqlca_code.DBParm = "ConnectString='DSN=code;UID=dba;PWD=sql'"
connect using sqlca_code;
if sqlca_stnd.sqlcode<>0 then
messagebox("连接STND.DB出错",sqlca_stnd.sqlerrtext,exclamation!)
end if
if sqlca_code.sqlcode<>0 then
messagebox("连接CODE.DB出错",sqlca_code.sqlerrtext,exclamation!)
end if