康 懿
[摘要]隨著PowerBuilder的廣泛使用,針對其數據管道及其應用的問題,討論該技術的主要內容。
[關鍵詞]PowerBuilder數據管道數據庫
中圖分類號:TP3文獻標識碼:A文章編號:1671-7597(2009)1120052-01
數據管道是一種數據遷移工具。通過數據管道,應用程序能夠在不同的數據庫表之間移動數據,也就是說,可以把一個或多個源表中的數據復制到新表或已存在的目的表中。數據管道產生的數據遷移可以在同一個數據庫中不同的表之間進行,也能夠在同一個數據庫管理系統的不同數據庫之間進行,甚至可以在不同數據庫管理系統的不同數據庫之間進行。
數據管道提供了在數據庫內部、數據庫之間,甚至不同數據庫管理系統之間快速復制數據的簡便途徑。利用數據管道復制數據的過程稱之為灌入數據。
一、創建數據管道對象
數據管道是PowerBuilder提供的一個對象,它的使用方法有兩種:
(1)數據管道畫板創建數據管道對象,然后在數據管道畫板中運行數據管道對象。這種方式方便了開發人員開發和測試應用程序。
(2)用數據管道畫板創建并保存數據管道對象,用用戶對象畫板創建基于數據管道對象的用戶對象,編寫需要的事件處理程序,在代碼中運行管道。
無論哪種方法,使用之前都需要創建數據管道對象,創建數據管道對象時,需要確定下述選項:
1.源數據庫;
2.目的數據庫;
3.要從中復制數據的源表;
4.要存放數據的目的表;
5.要執行的數據管道操作類型;
6.運行數據管道時事務提交的頻率;
7.允許出現的最多錯誤數;
8.是否要把表的擴展屬性一起傳送到目的數據庫中。
二、數據管道出錯處理
在數據管道運行過程中,隨時可能因數據完整性等多種原因而產生錯誤,PowerBuilder自動把出錯的行顯示在出錯信息數據窗口中。數據管道的出錯信息數據窗口顯示了管道操作失敗行的所有列,并在數據窗口左部指出了出錯原因,這個數據窗口使用表格風格的顯示方式。
如果在數據管道執行過程中達到了最大出錯個數,管道的執行就會自動停止,其后的數據無論正確與否都不會灌入目的數據庫中。要想把后面的數據灌入數據庫,只有兩種方法可行:修改數據管道的定義,或修改數據源的定義。修改之后重新運行數據管道。
三、數據管道的應用
如果想在應用程序中使用數據管道,一般必須創建下述對象:(1)創建數據管道對象;(2)創建一個繼承自Pipeline的標準類用戶對象;(3)創建一個窗口,在窗口上放置用于顯示數據管道運行過程中出錯信息的數據窗口控件。
在應用程序中使用數據管道的基本步驟如下:
1.用數據管道畫板創建數據管道對象。
2.用用戶對象畫板創建繼承自Pipeline的標準類用戶對象。
3.創建窗口,在窗口上放置一個數據窗口控件。
4.編寫代碼,依次實現下述操作:
(1)初始化事務對象并連接數據庫;
(2)創建標準類用戶對象實例;
(3)將數據管道對象與標準類用戶對象實例聯系起來;
(4)啟動數據管道。
5.處理行錯誤。
6.結束管道操作,清理前面創建的實例。
在實現上述任務過程中,需要使用數據管道對象的屬性、事件和函數:
1.數據管道用戶對象的屬性
數據管道用戶對象的屬性共有五個,反映了當前使用的數據管道對象、語法、數據管道運行情況等信息。
2.數據管道的事件
數據管道有五個預定義事件,在創建數據管道用戶對象時,可以根據應用程序的需要定義自己的用戶事件。
3.數據管道的方法
數據管道對象有八個方法,其中ClassiName()、GetParent()、PostE
vent()、TriggerEvent()、TypeOf()與其他對象相應方法的意義相同,在此不再重復。而Start()方法將數據從源表傳送到目的表中,Cancel()方法將終止數據管道的執行,Repair()方法將出錯修改結果傳送到目的數據庫。
四、小結
本文主要討論了PowerBuilder關于數據管道的功能,指出了如何創建數據管道對象,并詳細介紹了數據管道應用的基本步驟和方法。
參考文獻:
[1]徐松林等,PowerBuilder數據庫應用開發教程[M].北京:清華大學出版社.
[2]李春葆、曾平,Sql Server2000應用系統開發教程[M].北京:清華大學出版社.
[3]施伯樂、丁寶康、汪衛編著,數據庫系統教程[M].北京:高等教育出版社.