powerbuilder:使用PowerBuilder同时访问多个数据库

    PowerBuilder 4.0是套强大数据库应用系统开发工具,它具有完整客户/服务器体系结构、面向对象应用开发思路方法以及可视化开发环境,因而成为近几年流行数据库前端开发工具  
随着网络延伸和信息系统不断开发,系统集成面临着如何将分布在区别服务器上数据库系统集成到问题如下图所示:  
某个客户应用可能需要在同窗口同时访问两个服务器上两个区别种数据库,PowerBuilder为这种需求提供了令人满意解决方案  
方案:  
通过Transaction Object同时打开多个事务,再通过多个事务存取建立在区别数据库上DataWindows  
方案 2:  
通过数据管道(DataPipeLine)将其它数据库上基表中数据传送到主数据库上,对数据管道还可加上过滤条件,以便只传送需要数据  
具体实现方案  
本文在个窗口上两个按钮具体显示方案和方案 2,这个窗口如右图所示在这个窗口中 3个事件脚本(Scripts)如下:  
(1)打开窗口事件脚本(Open for W_LC)  
Transaction lc_oracle,lc_ingres  
化oracle数据库事务  
lc_oracle=CREATE transaction  
lc_oracle.DBMS ="OR7 ORACLE v7.x"  
lc_oracle.Database ="ora7"  
lc_oracle.logId ="Ljb"  
lc_oracle.logPassword ="Ljbljb"  
lc_oracle.ServerName ="@t:132.147.111.8" ∥化ingres数据库事务  
lc_ingres=CREATE transaction  
lc_ingres.DBMS ="ODBC"  
lc_ingres.Database ="xxzx2"  
lc_ingres.userid ="nt"  
lc_ingres.dbpass ="ingres"  
lc_ingres.dbparm ="ConnectString='DSN=kfml;&  
SRVR=nt;DB=xxzx2;OPTS=;UID=ingres'"  
(2)同时访问两个数据库脚本(Clicked for CB_MutiDBMS) ∥访问 oracle数据库  
connect using lc_oracle;  
dw_oracle.SetTrans(lc_oracle)  
dw_oracle.retrieve  
∥访问ingres数据库  
connect using lc_ingres;  
dw_ingres.SetTrans(lc_ingres)  
dw_ingres.retrieve  
(3)数据管道脚本(Clicked for CB_PipeLine)  
/*介绍说明个支持数据管道对象,lc_object是在  
User Object Paer中定义PipeLine对象*/  
lc_object lcl_object  
∥启动数据管道  
eger start_result  
connect using lc_oracle;  
connect using lc_ingres;  
lcl_object=create lc_object  
/*lc_pipeline是在PipeLine Paer中定义数据管道,以便将ingres基表中数据传送到oracle数据库基表中*/  
lcl_object.dataobject="lc_pipeline"  
start_result=lcl_object.start &(lc_oracle,lc_ingres,dw_oracle)  
If start_result=-3  
messagebox("数据管道错","此基表已存在");  
  
end   
disconnect using lc_oracle;  
disconnect using lc_ingres;  
小结  
PowerBuilder不仅为应用系统快速开发提供了强有力支持工具,而且为30多种数据库提供了直接连接或ODBC连接,再加上Transaction Object和Data PipeLine同时存取多个数据库功能,为大中型企业在信息系统建设中后期完成系统互连提供了简捷有效思路方法
Tags:  powerbuilder是什么 powerbuilder9.0 powerbuilder powerbuilder

延伸阅读

最新评论

发表评论