powerscript最主要的特色是方便有效地管理和访问数据库,那么如何将两个不同的数据源同时连接,并在界面上进行展示呢
连接两个数据库,首先要理解PB的五个全局变量之一,SQLCA(SQL Communications Aera),这个是PB自定义的,用来定义连接数据库需要的一些信息,默认是用这个变量进行数据库的连接。
连接多个数据库,就需要定义多个这种变量,例如:SQLCB,SQLCX,随便自己取名字,定义在全局变量中。
创建事务
sqlca=create transaction
sqlcx=create transaction
消亡事务对象
destroy(sqlca)
destroy(sqlcx)
1、连接数据库1
SQLCA.DBMS = "ODBC"
SQLCA.LogPass = ls_dbpassword//你登录数据库的密码
SQLCA.ServerName = ls_dbname//数据库的名字
SQLCA.LogId = ls_dbuser//登录数据库的名字
SQLCA.AutoCommit = False
SQLCA.DBParm = "PBCatalogOwner='" + ls_dbuser + "',DisableUnicode=0"
连接数据库2
sqlcx.DBMS = "ODBC2"
sqlcx.LogPass = ls_dbpassword1 //你登录数据库的密码
sqlcx.ServerName = ls_dbname1 //数据库的名字
sqlcx.LogId = ls_dbuser1 //登录数据库的名字
sqlcx.AutoCommit = False
sqlcx.DBParm = "PBCatalogOwner='" + ls_dbuser1 + "',DisableUnicode=0"
connect using sqlcx;
2、数据窗口控件分配事物对象
例如对应的窗口1数据来自于数据库1 ,分配事物对象格式为SetTRansObject(SQLCA)
例如对应的窗口2数据来自于数据库2,分配事物对象格式为SetTRansObject(SQLCX)
dw_1.SetTRansObject(SQLCA)
dw_2.SetTRansObject(SQLCX)
3 、关于数据库2 的操作 都要使用using sqlcx
例如 Update student
set country = 'china'
where name = :ls_name and age= :ll_age and id=:ll_id using sqlcx;