范春榮
(大慶油田第七采油廠第二油礦,黑龍江 大慶 163000)
網絡與數據庫技術的發展,促使油田信息化的不斷進步與完善。過去由于受到技術的限制,我廠應用的軟件大部分為單機版軟件,而且數據庫以小型數據庫居多,數據庫表以DBF格式的居多,現在軟件大多需要更新換代,新的開發數據庫系統都集成到以B/S方式為基礎的ORACLE這類大型數據系統上,這就涉及到了原有數據庫的數據與現有數據庫的相互轉換。
PowerBuilder通過對不同數據庫采用不同接口的形式同時支持多種關系數據庫,并提供了數據管道技術,這是實現兩個數據源之間數據傳輸的一種常用數據處理技術,它在數據庫系統轉換,原始數據錄入,數據導出,移動存儲,分布式數據庫復制等方面應用非常廣泛。通過數據管道,應用程序能夠在不同的數據庫之間移動數據,也就是說,可以把一個或多個源表中的數據復制到新表或已存在的目的表中,可以刪除目的表及其數據后重建目的表,也可以只把最新數據傳送到目的表中。而且,這種數據遷移既可以在同一個數據庫的不同數據表之間進行,也能在不同數據庫管理系統的不同數據庫之間進行。除了遷移常規數據(比如數值型、字符型等)外,數據管道還可以在數據庫之間遷移圖像、聲音之類的大二進制對象(Blob型數據)。用數據管道復制數據時,可以復制表中的所有數據,也可以復制部分數據,甚至還可以復制出加工了的數據。
2.1 具體操作方法如下
在使用數據管道前我們首先要創建數據管道對象。創建數據管道對象時,需要確定源數據庫,目的數據庫,要從中復制數據的源表,要存放數據的目的表,要執行的數據管道操作類型,運行數據管道事務提交的頻率,容許出現的最多錯誤數,是否要把表的擴展性一起傳送到目的數據庫中。
2.1.1 啟動畫筆欄的“Pipeline”圖標,系統顯示“Select Data Pipeline”對話框(如圖);

2.1.2 修改某數據管道對象時,通過單擊從列出的對象中選擇要修改的數據管道對象,然后單擊“OK”按鈕,進入數據管道畫筆工作區;要創建新的數據管道對象時,單擊“New”按鈕,系統顯示“New Data Pipeline”對話框(如圖);

1.1.3 “New Data Pipeline”對話框分成了兩個組:“Data Source”組框用于選擇數據源,這些數據源的作用與創建數據窗口時數據源的作用完全相同,它們生成指定的SQL SELECT語句;“Database Connections”組框用于指定提取數據源表所在數據庫的數據庫配置和目的表所在數據庫的數據庫配置,如果所需的數據庫配置沒有在列表框中列出,那么必須使用數據庫配置畫筆定義相應的數據庫配置。
1.1.4 選擇了源數據庫、目的數據庫以及數據源后,單擊“OK”按鈕,系統根據所選數據源的不同,出現不同的畫面,按定義數據窗口數據源相似的方法定義數據源。
1.1.5 定義了數據管道對象的各種選項后,就可以在數據管道畫筆中運行數據管道了。單擊數據管道畫筆工具欄上的“Execute”圖標或從“Design”菜單中選擇“Execute”菜單項。
對于耗時較長的運行過程,隨時都可以終止數據管道的運行,方法很簡單:單擊數據管道畫筆工具欄“Execute”圖標位置上的圖標,此時圖標的圖案是只紅色小手。數據管道運行結束后,小手圖案又變成“Execute”圖標圖案。
VFP6.0提供Oracle和SQL Server兩個升遷向導。這兩個升遷向導可以創建Oracle數據庫或SQL Server數據庫,實現數據庫各表中的功能。VFP的數據庫在升遷之前必須把所有的表都放在數據庫里,自由表不能直接升遷,而實際上升遷上去的又只是表,數據庫本身不能轉到ORACLE里。要把VFP數據升遷到ORACLE上,必須先在ORACLE里建立相應的數據庫。
具體操作方法如下:
2.1 先取得要導入的ORACLE的服務名,例如ORA10
2.2 配置ODBC,利用Oracle的服務ORA10創建DSN,命名為TEST。
2.3 啟動VFP,打開項目數據庫,利用DSN創建連接Conn_test
2.4 選擇“工具”、“向導”、“升遷”單擊
(1)選擇 ORACLE 升遷向導;(2)選擇要升遷的本地數據庫Library;(3)選擇可用的數據源(test)或連接(conn_test);(4)輸入用戶名和口令;(5)選擇要升遷的基表;(6)改變匹配字段的數據類型,即本地字段數據類型與服務器字段數據類型的映射;(7)選擇表空間 user_data;(8)選擇表空間文件(采用默認值);(9)指定簇信息;(10)設置升遷選項;(11)單擊完成
PL/SQL Developer軟件是一個為 ORACLE數據庫開發存儲單元的集成開發環境(IDE),使用PL/SQL Developer可以很方便的管理Oracle數據庫。轉換數據只是其中的極小部分的功能。具體操作如下:
打開PLSQL Developer軟件后,點TABLE,找到要導出的表,右鍵單擊,選擇“Edit Date”,這時在“SQL”標簽的右下角有一個“Expot Query Results……”的圖標,單擊后出現菜單“CSV File”,“TSV File”,“HTML File”,“XML File”,選擇“CSV File”后存儲路徑,打開 *.csv文件,另存為*.xls(如圖左)。然后用VFP導入(如圖右)。至此oracle轉化為dbf格式完成。


數據轉換中最重要的工作是建立正確的數據庫連接數據,包括合適的驅動程序和正確的身份認證。如果源數據庫類型與目標數據庫類型相差較大轉換時,一般可以采用過渡的方法,先將源數據庫轉成一種通用格式(如文本格式、表格格式或SQL數據等),然后再利用通用格式轉換成目標格式。當針對一些簡單的數據轉換,也可以用VFP、Access等數據庫軟件自帶的導入導出功能來實現轉換。
數據轉換是一項極為重要的數據庫操作技術,它關系到應用系統的可移植和二次開發能力。數據轉換可以很好的解決信息技術的發展和數據庫的升級帶來的問題,能夠最大限度的利用現有資源,避免重復開發的浪費。數據轉換靈活應用將會給油田應用軟件開發帶來極大的便利。
[1]馮曉利,葉曉虎.《學用Visual FoxPro 6.0中文版》清華大學出版社,1999,07,01.
[2]盧守東.《PowerBuilder數據庫應用開發技術》清華大學出版社,2006,06,01.