科技行者

行者学院 转型私董会 科技行者专题报道 网红大战科技行者

知识库

知识库 安全导航

至顶网软件频道应用软件使用PowerBuilder同时访问多个数据库

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

  • 扫一扫
    分享文章到微信

  • 扫一扫
    关注官方公众号
    至顶头条

随着网络的延伸和信息系统的不断开发,系统集成面临着如何将分布在不同服务器上的数据库系统集成到一起的问题。某个客户应用可能需要在同一窗口同时访问两个服务器上的两个不同种数据库,PowerBuilder为这种需求提供了令人满意的解决方案。

作者:51cto.com整理 来源:51cto.com 2007年9月15日

关键字: PowerBuilder 访问 数据库 软件

  • 评论
  • 分享微博
  • 分享邮件

PowerBuilder 4.0是一套强大的数据库应用系统开发工具,它具有完整的客户/服务器体系结构、面向对象的应用程序开发方法以及可视化的开发环境,因而成为近几年流行的数据库前端开发工具。  

随着网络的延伸和信息系统的不断开发,系统集成面临着如何将分布在不同服务器上的数据库系统集成到一起的问题。某个客户应用可能需要在同一窗口同时访问两个服务器上的两个不同种数据库,PowerBuilder为这种需求提供了令人满意的解决方案。

方案一:  通过Transaction Object同时打开多个事务,再通过多个事务存取建立在不同数据库上的DataWindows。  

方案二:  通过数据管道(DataPipeLine)将其它数据库上基表中的数据传送到主数据库上,对数据管道还可加上过滤条件,以便只传送需要的数据。  

具体实现方案  

本文在一个窗口上的两个按钮具体显示方案一和方案二。在这个窗口中的三个事件脚本(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 Painter中定义的PipeLine对象*/  

lc_object lcl_object  

∥启动数据管道  

integer start_result  

connect using lc_oracle;  

connect using lc_ingres;  

lcl_object=create lc_object  

/*lc_pipeline是在PipeLine Painter中定义的数据管道,以便将ingres基表中的数据传送到oracle数据库基表中*/  

lcl_object.dataobject="lc_pipeline"  

start_result=lcl_object.start &(lc_oracle,lc_ingres,dw_oracle)  

If start_result=-3  

messagebox("数据管道错","此基表已存在");  

return  

end if  

disconnect using lc_oracle;  

disconnect using lc_ingres;  

小结 

PowerBuilder不仅为应用系统的快速开发提供了强有力的支持工具,而且为30多种数据库提供了直接连接或ODBC连接,再加上Transaction Object和Data PipeLine同时存取多个数据库的功能,为大中型企业在信息系统建设的中后期完成系统的互连提供了简捷有效的方法。

查看本文来源

    • 评论
    • 分享微博
    • 分享邮件
    邮件订阅

    如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。

    重磅专题
    往期文章
    最新文章