使用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同時存取多個資料庫的功能,為大中型企業在資訊系統建設的中後期完成系統的互連提供了簡捷有效的方法。
很老的資料了,但有時也會用得著。相關文章
- 使用 @NoRepositoryBean 簡化資料庫訪問Bean資料庫
- jmeter 使用 ssh 方式訪問資料庫JMeter資料庫
- gite多個賬號 訪問倉庫Git
- JDBC資料庫訪問JDBC資料庫
- Laravel 使用多個資料庫連線Laravel資料庫
- django使用多個資料庫實現Django資料庫
- 基於多資料來源零程式碼同時生成多個資料庫CRUD增刪改查RESTful API介面資料庫RESTAPI
- 外網訪問MySQL資料庫MySql資料庫
- Oracle資料庫限制訪問IPOracle資料庫
- 利用 onnxruntime 庫同時推理多個模型的效率研究模型
- [開源] .Net 使用 ORM 訪問 華為GaussDB資料庫ORM資料庫
- Spring Boot入門(五):使用JDBC訪問MySql資料庫Spring BootJDBCMySql資料庫
- 同時使用資料庫鏈和序列時應注意的幾點(轉)資料庫
- 如何使用 Node.js 訪問 SAP HANA Cloud 資料庫裡的資料Node.jsCloud資料庫
- python 同時迭代多個序列Python
- 如何限制ip訪問Oracle資料庫Oracle資料庫
- 同時訪問內外網解決方案
- 【磐維資料庫】透過python訪問磐維資料庫資料庫Python
- 面對眾多雲資料庫,應該使用哪個雲資料庫好?資料庫
- 使用 Infinispan 快取功能支援多個 Redis 資料庫快取Redis資料庫
- Xamarin SQLite教程資料庫訪問與生成SQLite資料庫
- Python學習之旅:訪問MySQL資料庫PythonMySql資料庫
- 資料庫訪問幾種方式對比資料庫
- [開源] .Net ORM 訪問 Firebird 資料庫ORM資料庫
- 如何一臺機器同時使用多個git祕鑰Git
- Spring Boot入門(七):使用MyBatis訪問MySql資料庫(xml方式)Spring BootMyBatisMySql資料庫XML
- Oracle如何診斷遠端訪問資料庫慢/超時等問題小結Oracle資料庫
- 資料庫面試時常見的26個問題資料庫面試
- Redis多個資料庫的概念Redis資料庫
- 使用「TablePlus」輕鬆安全地管理多個資料庫資料庫
- 使用R2DBC實現資料庫的響應式訪問資料庫
- Spring Boot 2.x基礎教程:使用JdbcTemplate訪問MySQL資料庫Spring BootJDBCMySql資料庫
- Spring Boot入門(六):使用MyBatis訪問MySql資料庫(註解方式)Spring BootMyBatisMySql資料庫
- SQL Server建立使用者只能訪問指定資料庫和檢視SQLServer資料庫
- DBA 日常:規模使用者資料庫訪問許可權管理資料庫訪問許可權
- 在Golang中如何正確地使用database/sql包訪問資料庫GolangDatabaseSQL資料庫
- Pandas庫基礎分析——資料生成和訪問
- Holer實現外網訪問SQLServer資料庫SQLServer資料庫
- Holer實現MongoDB資料庫外網訪問MongoDB資料庫