使用PowerBuilder同時訪問多個資料庫
隨著網路的延伸和資訊系統的不斷開發,系統整合面臨著如何將分佈在不同伺服器上的資料庫系統整合到一起的問題。某個客戶應用可能需要在同一視窗同時訪問兩個伺服器上的兩個不同種資料庫,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同時存取多個資料庫的功能,為大中型企業在資訊系統建設的中後期完成系統的互連提供了簡捷有效的方法。
很老的資料了,但有時也會用得著。相關文章
- 多個系統同時訪問和操作同一資料庫,可否使用hibernate資料庫
- Java Spring中同時訪問多種不同資料庫JavaSpring資料庫
- Power Builder同時連線多個資料庫(轉)UI資料庫
- android同時使用多個library時的問題Android
- 多個人訪問實體Bean,這個Bean訪問幾次資料庫啊?Bean資料庫
- Oracle資料鏈+同義詞+訪問遠端資料庫Oracle資料庫
- 通過shell指令碼同時監控多個資料庫負載指令碼資料庫負載
- 用JDBC訪問一個資料庫JDBC資料庫
- jmeter 使用 ssh 方式訪問資料庫JMeter資料庫
- 使用Visual Basic訪問資料庫幾個注意的問題 (轉)資料庫
- 禁止某個IP訪問Oracle資料庫Oracle資料庫
- 用JDBC訪問一個資料庫(轉)JDBC資料庫
- powerbuilder crosstab資料視窗問題UIROS
- gite多個賬號 訪問倉庫Git
- 使用 @NoRepositoryBean 簡化資料庫訪問Bean資料庫
- JDBC資料庫訪問JDBC資料庫
- 使用MyBatis搭建一個訪問mysql資料庫的簡單示例MyBatisMySql資料庫
- 備份與恢復--一個表空間能否被多個資料庫同時開啟?資料庫
- 基於多資料來源零程式碼同時生成多個資料庫CRUD增刪改查RESTful API介面資料庫RESTAPI
- 釋出一個.NET資料庫訪問類資料庫
- 使用ADO,多執行緒訪問ACCESS資料庫的開發。 (轉)執行緒資料庫
- spring-data-mongodb多資料庫訪問實現SpringMongoDB資料庫
- Laravel 使用多個資料庫連線Laravel資料庫
- django使用多個資料庫實現Django資料庫
- 使用speedment以Java 8 Stream訪問資料庫Java資料庫
- 同時使用資料庫鏈和序列時應注意的幾點資料庫
- Oracle資料庫訪問控制Oracle資料庫
- 異構資料庫訪問資料庫
- 單例避免多執行緒同時修改同個值從而造成髒資料單例執行緒
- jboss訪問資料庫的問題資料庫
- windows7同時安裝兩個版本mysql資料庫WindowsMySql資料庫
- 解決內、外網同時訪問問題
- 同時使用資料庫鏈和序列時應注意的幾點(轉)資料庫
- [開源] .Net 使用 ORM 訪問 華為GaussDB資料庫ORM資料庫
- 如何讓jsp使用同一個bean同時連線操作兩個不同的資料庫JSBean資料庫
- 利用 onnxruntime 庫同時推理多個模型的效率研究模型
- 外網訪問MySQL資料庫MySql資料庫
- Oracle資料庫限制訪問IPOracle資料庫