有两数据源 想同时连接,并且想使用一个中的数据进行更新另一数据源的数据,怎么实现?
连接 数据源1
连接 数据源2
{提取数据源1数据
更新数据源2数据}
关闭数据源1
关闭数据源2
可以实现吗??
请高手给个具体实现方法
------解决方案--------------------
同时访问多个数据库
当需要在一个应用中同时访问多个数据库时,就要用到多个事务对象。可以用SQLCA与一个数据库连接,但是对于其它的数据库,每个库则必须建立一个事务对象。在创建事务对象前,应考虑它的使用范围,可根据需要声明为全局对象或实例对象。
下面以在一个应用中需同时操作Foxpro和Access两种数据库为例,说明创建事务对象的过程。该例要在同一个数据窗口中同时显示Foxpro中的AA表和Access中的BB表,PowerScrip t语句如下:
∥声明事务对象
Transaction Tr_foxpro
Transaction Tr_access
∥建立事务对象
Tr_foxpro=Create Transaction
Tr_access=Create Transaction
∥给事务对象的属性赋值
Tr_foxpro.DBMS="ODBC"
Tr_foxpro.Dbparm="ConnectString=‘DSN=S_foxpro"
Tr_access.DBMS="ODBC"
Tr_access.Dbparm="ConnectString"=‘DSN=S_access"
∥建立数据库连接
Connect Using Tr_foxpro
Connect Using Tr_access
要在一个窗口中定义二个不同的数据窗口分别对应二个不同的库,首先要按前述的步骤建立各自的数据源,设数据源名分别为S_foxpro和S_access。然后在各自的数据源下制作数据窗口。在窗口OPEN事件中写入如下Script程序:
∥建立数据窗口与事务对象的连接
Dw_1.Settransobject(Tr_foxpro)
Dw_2.Settransobject(Tr_access)
∥将数据库中的数据检索到数据窗口中
Dw_1.Retrieve()
Dw_2.Retrieve()
当这个应用程序执行时,就会在两个数据窗口显示两个数据库的内容,读者可以仿照以上的方法,设计出同时访问多个不同数据库的程序。
以上阐述的是应用ODBC访问不同数据库的方法,Power Builder实际上还提供另一种方法访问数据库,即专用数据接口,它的使用方法与ODBC有类似之处
------解决方案--------------------
如果是MS SQL Server,也可以使用链接服务器,先再数据库上设置好,然后再PB里面直接使用即可。
这样只需要一个数据源。
链接服务器的使用请参考此文章
------解决方案--------------------
用2楼方法即可,创建多少事务去连接不同的数据库