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

 我来答
天罗网17
2022-11-23 · TA获得超过6189个赞
知道小有建树答主
回答量:306
采纳率:100%
帮助的人:73.1万
展开全部

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

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

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

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

   具体实现方案

  本文在一个窗口上的两森碧个按钮具体显示方案一和方案二 在这个窗口中的三个事件脚本(Scripts)如下

   ( )打开窗口事件脚本(Open for W_LC)

  Transaction lc_oracle lc_ingres

  ∥初始化oracle数据库事务

  lc_oracle=CREATE transaction

  lc_oracle DBMS = OR ORACLE v x

  lc_oracle Database = ora

  lc_oracle logId = Ljb

  lc_oracle logPassword = Ljbljb

  lc_oracle ServerName = @t: ∥初始化ingres数据库事务

  lc_ingres=CREATE transaction

  lc_ingres DBMS = ODBC

  lc_ingres Database = xxzx

  lc_ingres userid = nt

  lc_ingres dbpass = ingres

  lc_ingres dbparm = ConnectString= DSN=kfml;&

  SRVR=nt;DB=xxzx ;OPTS=;UID=ingres

   ( )同时访问两个数据库的脚本(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()

   ( )数据管道的脚本(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=

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

  return

  end if

  disconnect using lc_oracle;

  disconnect using lc_ingres;

   小结

lishixinzhi/Article/program/PB/201311/24647

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式