王美琴
(浙江同濟科技職業(yè)學院,浙江 杭州 311231)
基于.NET的通用數(shù)據(jù)庫轉(zhuǎn)換系統(tǒng)的設(shè)計與實現(xiàn)
王美琴
(浙江同濟科技職業(yè)學院,浙江 杭州 311231)
在信息化時代,企業(yè)面對爆發(fā)式的數(shù)據(jù)增長和各種新應(yīng)用的出現(xiàn),隨著數(shù)據(jù)庫應(yīng)用環(huán)境復雜性的增加,數(shù)據(jù)庫的結(jié)構(gòu)和管理系統(tǒng)發(fā)生很大的變化,而歷史數(shù)據(jù)的價值不容忽視,因此企業(yè)越來越重視不同數(shù)據(jù)庫的數(shù)據(jù)轉(zhuǎn)換問題。本文針對現(xiàn)有數(shù)據(jù)轉(zhuǎn)換系統(tǒng)的研究現(xiàn)狀與存在問題,在結(jié)合ADO.NET與XML的基礎(chǔ)上,設(shè)計了一種靈活、通用、高效、可靠的通用數(shù)據(jù)庫轉(zhuǎn)換系統(tǒng)。系統(tǒng)分為數(shù)據(jù)庫配置與轉(zhuǎn)換兩大功能模塊,用戶通過簡單的交互操作就可以完成復雜的數(shù)據(jù)庫之間的數(shù)據(jù)遷移與數(shù)據(jù)結(jié)構(gòu)轉(zhuǎn)換。本系統(tǒng)已在某水利信息系統(tǒng)升級中得到了實際應(yīng)用。
數(shù)據(jù)轉(zhuǎn)換;數(shù)據(jù)遷移;ADO.NET;XML
隨著大數(shù)據(jù)的蓬勃發(fā)展,數(shù)據(jù)平臺建設(shè)已經(jīng)被各企業(yè)提上日程而且需要不斷更新?lián)Q代。在企業(yè)發(fā)展過程中,不同信息系統(tǒng)可能使用不同數(shù)據(jù)庫系統(tǒng),信息系統(tǒng)更新的同時有時也需要更新數(shù)據(jù)庫管理工具或重新設(shè)計數(shù)據(jù)庫結(jié)構(gòu),當舊數(shù)據(jù)與新數(shù)據(jù)所使用的數(shù)據(jù)庫不同時,數(shù)據(jù)庫轉(zhuǎn)換就變得很有必要。現(xiàn)有的數(shù)據(jù)庫轉(zhuǎn)換工具往往只具有單純將舊數(shù)據(jù)庫已存在的數(shù)據(jù)進行遷移的功能,而無法對數(shù)據(jù)進行按需修改或者無法實時自動對新讀入的數(shù)據(jù)進行轉(zhuǎn)換。本文旨在討論一種對數(shù)據(jù)庫進行智能轉(zhuǎn)換的系統(tǒng)設(shè)計與實現(xiàn)的方法,使數(shù)據(jù)庫轉(zhuǎn)換更加方便和高效。希望能對建材非金屬礦地質(zhì)系統(tǒng)目前正在編制的《中國建材非金屬礦產(chǎn)地質(zhì)志》及其數(shù)據(jù)庫建設(shè)提供借鑒和參考。
由于信息化系統(tǒng)的迅速發(fā)展,為了適應(yīng)信息化建設(shè)的需求,多數(shù)系統(tǒng)需要進行升級或集成整合,數(shù)據(jù)轉(zhuǎn)換的方式逐步發(fā)展,近年來由早期的中間文件轉(zhuǎn)存方式[1],中間數(shù)據(jù)庫轉(zhuǎn)存方式[2],轉(zhuǎn)變?yōu)閿?shù)據(jù)中間件方式,并逐步遷移到云計算環(huán)境下[3]。已有文獻介紹了在數(shù)據(jù)轉(zhuǎn)換之中XML的應(yīng)用,崔學榮等[4]介紹了從關(guān)系數(shù)據(jù)庫到XML的轉(zhuǎn)換方法,鄧芳[5]通過元數(shù)據(jù)字典的掃描,探討了XML到數(shù)據(jù)庫的轉(zhuǎn)換,吳立鋒等[6]創(chuàng)建了XML與關(guān)系數(shù)據(jù)庫的映射,提出了XDBWare模型,進行XML與關(guān)系數(shù)據(jù)庫的連接,實現(xiàn)數(shù)據(jù)相互轉(zhuǎn)換。曹剛等[7]設(shè)計了一種基于ODBC驅(qū)動進行數(shù)據(jù)庫轉(zhuǎn)換的工具,提出了使用SQL語句制定轉(zhuǎn)換方式的方法,但配置較為復雜。
目前存在的多種數(shù)據(jù)庫轉(zhuǎn)換工具均在不同方面有所側(cè)重:如aqua data studio更側(cè)重于多數(shù)據(jù)源的連接與提供通用的圖形化數(shù)據(jù)庫管理工具,數(shù)據(jù)轉(zhuǎn)換操作可以定制數(shù)據(jù)列的影射關(guān)系,但轉(zhuǎn)換需通過txt文件進行,將舊數(shù)據(jù)導出為固定格式的txt文件,再轉(zhuǎn)存到新數(shù)據(jù)庫中,此方法效率較低,同時不適合大數(shù)據(jù)量的轉(zhuǎn)換。DBMover專注于數(shù)據(jù)的遷移,支持自動轉(zhuǎn)換與大數(shù)據(jù)操作的優(yōu)化,但只針對于固定數(shù)據(jù)庫的轉(zhuǎn)換,不夠靈活和通用。
由以上對研究成果與已有工具的描述可以看出,不同的數(shù)據(jù)庫轉(zhuǎn)換系統(tǒng)的功能點存在較多不一致性,綜合以上分析,目前數(shù)據(jù)庫轉(zhuǎn)換面臨的主要問題如下:
(1) 靈活性差,通用性不強。多數(shù)數(shù)據(jù)庫轉(zhuǎn)換方法或工具僅提供一種數(shù)據(jù)轉(zhuǎn)換方式或針對于某種數(shù)據(jù)庫進行針對性轉(zhuǎn)換,不能靈活適應(yīng)不同應(yīng)用背景、數(shù)據(jù)庫類型以及數(shù)據(jù)結(jié)構(gòu)的需要,也不能根據(jù)用戶的需求變化進行相應(yīng)修改,對于數(shù)據(jù)結(jié)構(gòu)發(fā)生變化的應(yīng)用情景擴展性不夠強。
(2) 穩(wěn)定性問題。在數(shù)據(jù)庫轉(zhuǎn)換過程中存在多種不可抗力因素,數(shù)據(jù)轉(zhuǎn)換受到多種穩(wěn)定性威脅,如斷電、系統(tǒng)崩潰、網(wǎng)絡(luò)傳輸中斷等問題,或是由軟件自身出錯導致程序崩潰,若不采取有效措施,會造成數(shù)據(jù)轉(zhuǎn)換強制中止而引發(fā)數(shù)據(jù)錯誤或數(shù)據(jù)丟失。
(3) 轉(zhuǎn)換時間長,效率低下。單一線程運行的數(shù)據(jù)庫轉(zhuǎn)換程序按序執(zhí)行數(shù)據(jù)轉(zhuǎn)換,對于需要轉(zhuǎn)換海量數(shù)據(jù)的數(shù)據(jù)庫,轉(zhuǎn)換時間過長,由于效率低下也同時帶來不穩(wěn)定因素。
針對以上問題,本文提出一種靈活性強,兼顧穩(wěn)定性與轉(zhuǎn)換效率的通用數(shù)據(jù)庫轉(zhuǎn)換系統(tǒng),可以滿足不同數(shù)據(jù)轉(zhuǎn)換的需求。
本系統(tǒng)的目的是針對現(xiàn)有數(shù)據(jù)庫轉(zhuǎn)換方式和工具的局限性,設(shè)計出一種適合各種環(huán)境、常用數(shù)據(jù)庫、遠程或本地服務(wù)器的通用數(shù)據(jù)庫轉(zhuǎn)換系統(tǒng),實現(xiàn)不同數(shù)據(jù)庫不同數(shù)據(jù)之間的智能轉(zhuǎn)換。主要功能是向用戶提供交互式界面,讓用戶進行設(shè)定并轉(zhuǎn)換數(shù)據(jù)庫。本系統(tǒng)以.NET開發(fā)平臺為基礎(chǔ),對數(shù)據(jù)庫操作、大規(guī)模數(shù)據(jù)查詢、多線程操作等關(guān)鍵技術(shù)進行了針對性研究。整個系統(tǒng)具有更高效的人機交互,更低的存儲規(guī)模,更方便的信息輸入,更智能的自動轉(zhuǎn)換,良好的可擴展性與可移植性等特點。
目前常用的數(shù)據(jù)庫管理系統(tǒng)有SYBASE、MS SQL SERVER、ACCESS、MYSQL、ORACLE、DB2,本系統(tǒng)旨在實現(xiàn)如上數(shù)據(jù)庫中數(shù)據(jù)互相轉(zhuǎn)換的方案。
本系統(tǒng)的輸入為原數(shù)據(jù)庫中數(shù)據(jù),讀入數(shù)據(jù)后,進行相應(yīng)處理,并輸出至需存儲的已建立的新數(shù)據(jù)庫中。用戶通過建立系統(tǒng)與雙方數(shù)據(jù)庫的連接,并設(shè)定雙方數(shù)據(jù)庫的字段轉(zhuǎn)換規(guī)則與自動或手動轉(zhuǎn)換方式,系統(tǒng)判斷轉(zhuǎn)換過程是否有數(shù)據(jù)一致性等問題,若設(shè)置均正確無誤,則可以實現(xiàn)轉(zhuǎn)換操作。
本系統(tǒng)的核心技術(shù)是數(shù)據(jù)庫連接操作以及數(shù)據(jù)的轉(zhuǎn)換,采用ADO.NET技術(shù)對數(shù)據(jù)庫進行連接與讀取寫入操作,為用戶提供對數(shù)據(jù)庫進行轉(zhuǎn)換規(guī)則設(shè)置的界面,以此完成人機交互。本系統(tǒng)使用C#.NET開發(fā)平臺作為主要界面應(yīng)用程序平臺,通過XML文件進行設(shè)定的存儲與讀取,采用多線程操作實現(xiàn)程序的后臺處理,并結(jié)合錯誤日志與日期定位,對讀取出錯或是因網(wǎng)絡(luò)傳輸出錯的數(shù)據(jù)庫進行修復與重新讀入。
2.2.1 .Net Framework
.Net Framework是用于windows的新托管代碼編程模型,用于構(gòu)建具有視覺上引人注目的用戶體驗的應(yīng)用程序,實現(xiàn)跨技術(shù)邊界的無縫通信,并且能夠支持各種業(yè)務(wù)流程。C#.NET提供了豐富的API,進行XML文檔操作以及網(wǎng)絡(luò)通信。使用C#.NET進行系統(tǒng)開發(fā),能夠快速搭建操作便捷的人機交互界面。
2.2.2 ADO.NET
ADO.NET提供對數(shù)據(jù)源以及通過各公開數(shù)據(jù)源的一致訪問。共享數(shù)據(jù)的使用方應(yīng)用程序可以使用ADO.NET連接到這些數(shù)據(jù)源,并可以檢索、處理和更新其中包含的數(shù)據(jù)。提供了平臺互用性和可伸縮的數(shù)據(jù)訪問,ADO.NET增強了對非連接編程模式的支持,并支持RICH XML。由于傳送的數(shù)據(jù)都是XML格式,因此任何能夠讀取XML格式的應(yīng)用程序都可以進行數(shù)據(jù)處理[8]。
在本系統(tǒng)中,采用ADO.NET技術(shù)進行各數(shù)據(jù)源的連接,通過該技術(shù),可以不需要對數(shù)據(jù)庫進行長時間訪問,防止對數(shù)據(jù)庫長時間的獨占,而將需要轉(zhuǎn)換的數(shù)據(jù)讀入數(shù)據(jù)集,再轉(zhuǎn)換到目標數(shù)據(jù)庫。
2.2.3 XML
XML是W3C組織的XML工作組于1998年定義的SGML的一個受限子集。XML文檔包含3種主要成分: DTD、XSL和XLink[9]。XML的簡單使其易于在任何應(yīng)用程序中讀寫數(shù)據(jù),同時可以很容易加載XML數(shù)據(jù)到程序中并進行分析。本系統(tǒng)將XML作為數(shù)據(jù)轉(zhuǎn)換的配置文件進行轉(zhuǎn)換規(guī)則與連接的保存。
系統(tǒng)硬件架構(gòu)分為三個部分(見圖1),需要轉(zhuǎn)換的原數(shù)據(jù)庫、數(shù)據(jù)庫轉(zhuǎn)換系統(tǒng)和轉(zhuǎn)換后的新數(shù)據(jù)庫。對于數(shù)據(jù)庫與系統(tǒng)之間的連接使用ADO.NET數(shù)據(jù)中間件,只需要配置數(shù)據(jù)連接即可,具體的連接方式與是否連接成功與系統(tǒng)無關(guān),因此本文不做詳細討論。
圖1 系統(tǒng)架構(gòu)
系統(tǒng)軟件包括數(shù)據(jù)庫轉(zhuǎn)換配置與數(shù)據(jù)庫轉(zhuǎn)換兩個主要部分:
數(shù)據(jù)庫轉(zhuǎn)換配置是人機交互的主要部分,實現(xiàn)對雙方數(shù)據(jù)庫的連接。用戶設(shè)置原數(shù)據(jù)庫與新數(shù)據(jù)庫使用的管理工具與驅(qū)動,為系統(tǒng)提供兩個數(shù)據(jù)庫的連接方式(若遠程連接需同時提供服務(wù)器地址),并設(shè)定字段的轉(zhuǎn)換方法、系統(tǒng)運行方式等。
用戶可選擇是否轉(zhuǎn)換全部數(shù)據(jù)庫,或是根據(jù)特征值,如設(shè)定起始與終止時間,轉(zhuǎn)換該范圍內(nèi)數(shù)據(jù)庫的數(shù)據(jù)。
軟件用例圖如圖2所示。
圖2 軟件用例圖
用戶對數(shù)據(jù)庫進行設(shè)置主要步驟如下:
(1) 設(shè)置雙方數(shù)據(jù)庫類型。
由用戶選擇雙方數(shù)據(jù)庫格式,設(shè)定從何種數(shù)據(jù)庫進行轉(zhuǎn)換并轉(zhuǎn)換至何種數(shù)據(jù)庫,系統(tǒng)對不同數(shù)據(jù)庫采用不同連接方案。
(2) 設(shè)置雙方數(shù)據(jù)庫連接方式,
用戶設(shè)置數(shù)據(jù)庫的連接字符串或ODBC數(shù)據(jù)源,系統(tǒng)根據(jù)連接字符串,使用ADO.NET進行連接。若連接失敗,則返回給用戶,需要檢查連接字符串、服務(wù)器與客戶端之間的網(wǎng)絡(luò)等問題;若連接成功,則讀取數(shù)據(jù)庫中數(shù)據(jù)表,繼續(xù)進行下面的步驟。
(3) 設(shè)置需轉(zhuǎn)換數(shù)據(jù)表。
用戶根據(jù)需要,設(shè)置原數(shù)據(jù)庫中需轉(zhuǎn)換數(shù)據(jù)表與新數(shù)據(jù)庫中所使用的數(shù)據(jù)表,并根據(jù)實際需求設(shè)置雙方數(shù)據(jù)庫中數(shù)據(jù)表的對應(yīng)關(guān)系。
(4) 對每一數(shù)據(jù)表設(shè)置每一字段轉(zhuǎn)換規(guī)則。
系統(tǒng)提供5種轉(zhuǎn)換規(guī)則:①正常轉(zhuǎn)換:不作任何修改,或僅做無關(guān)數(shù)據(jù)正確性的修改(如增加或減少數(shù)據(jù)長度);②查表轉(zhuǎn)換:對此字段做相應(yīng)的修改,修改后的結(jié)果與原字段的結(jié)果存在一一對應(yīng)的關(guān)系,通過XML存儲此映射關(guān)系并在需要時讀取XML表中對應(yīng)鍵值數(shù)據(jù),對值進行數(shù)據(jù)庫存儲;③公式轉(zhuǎn)換:讀取原數(shù)據(jù)庫中數(shù)據(jù)值后,進行簡單的算術(shù)或邏輯運算,將新值存入新數(shù)據(jù)庫對應(yīng)字段。系統(tǒng)提供三種簡單運算:邏輯運算,若原數(shù)據(jù)庫字段值大于或小于或等于某一數(shù)值時,則設(shè)定新值存入數(shù)據(jù)庫;算術(shù)運算,將取出的值設(shè)定簡單的算術(shù)運算,運算結(jié)果存入新數(shù)據(jù)庫;連接運算:對nvarchar型數(shù)據(jù)有效,可以與其他字符串或字段值進行連接,并存入新數(shù)據(jù)庫;④SQL轉(zhuǎn)換:通過手動輸入sql語句,對執(zhí)行后生成的查詢表進行轉(zhuǎn)換,提供用戶自行設(shè)置查詢條件,進行多表查詢及進行查詢結(jié)果篩選,配置的sql語句也存入XML配置文件以待下次進行轉(zhuǎn)換;⑤不轉(zhuǎn)換:若對某字段不進行任何設(shè)置,則默認為正常轉(zhuǎn)換。系統(tǒng)判斷轉(zhuǎn)換后的結(jié)果是否符合新數(shù)據(jù)庫中字段要求,若有無,則向用戶報錯,提示修改。
(5) 設(shè)置程序運行方式。
由于系統(tǒng)使用環(huán)境不同,有的數(shù)據(jù)庫轉(zhuǎn)換需要將數(shù)據(jù)庫中所有數(shù)據(jù)進行一次性轉(zhuǎn)換,有的數(shù)據(jù)庫需要將數(shù)據(jù)庫中字段符合某些特定條件的數(shù)據(jù)進行篩選轉(zhuǎn)換,也有的數(shù)據(jù)庫需要自動運行,每次轉(zhuǎn)換某段時間中的增量數(shù)據(jù)。根據(jù)實際情況用戶選擇程序運行方式。
手動運行方式適用于一次性轉(zhuǎn)換,自動運行方式適用于根據(jù)時間增量轉(zhuǎn)換數(shù)據(jù)。以上兩種方式都可以進行對數(shù)據(jù)篩選轉(zhuǎn)換的設(shè)定,同時自動運行方式需要對時間數(shù)據(jù)進行篩選轉(zhuǎn)換,因此需要保證數(shù)據(jù)表中存在時間字段。
設(shè)置完畢,系統(tǒng)將以上各種設(shè)定進行保存,配置流程如圖3所示。
數(shù)據(jù)庫轉(zhuǎn)換是系統(tǒng)核心部分,系統(tǒng)根據(jù)設(shè)置連接雙方數(shù)據(jù)庫,并根據(jù)用戶設(shè)置進行自動或手動轉(zhuǎn)換,完成程序的主要任務(wù)。系統(tǒng)在轉(zhuǎn)換過程中,對于無關(guān)聯(lián)數(shù)據(jù)表通過多線程轉(zhuǎn)換,同時讀取多個數(shù)據(jù)庫表數(shù)據(jù)并導入新數(shù)據(jù)庫,節(jié)省運行時間。
圖3 數(shù)據(jù)庫配置流程
(1) 讀取系統(tǒng)設(shè)定,連接數(shù)據(jù)庫。
(2) 若是自動轉(zhuǎn)換,則當設(shè)定時間到時,自動對數(shù)據(jù)庫進行轉(zhuǎn)換。
(3) 若是手動轉(zhuǎn)換,則由用戶手動點擊轉(zhuǎn)換。
轉(zhuǎn)換流程如圖4所示。
圖4 數(shù)據(jù)庫轉(zhuǎn)換流程
本文設(shè)計的通用數(shù)據(jù)庫轉(zhuǎn)換系統(tǒng)已得到實際應(yīng)用。某水利部門信息中心由于系統(tǒng)升級,在設(shè)計二期系統(tǒng)時結(jié)合國家新頒布的數(shù)據(jù)庫設(shè)計標準,根據(jù)應(yīng)用需要更新了數(shù)據(jù)庫管理工具并重新設(shè)計了數(shù)據(jù)庫結(jié)構(gòu),但一期數(shù)據(jù)庫中仍存有大量歷史水利資料數(shù)據(jù),需要轉(zhuǎn)換到二期數(shù)據(jù)庫中。轉(zhuǎn)換過程涉及了直接轉(zhuǎn)換、查表轉(zhuǎn)換與SQL轉(zhuǎn)換。系統(tǒng)運行于Windows server 2008操作系統(tǒng),在水利信息化內(nèi)網(wǎng)環(huán)境下,由sql server 2000與oracle轉(zhuǎn)換至sql server 2008數(shù)據(jù)庫中。經(jīng)過實際運行與測試,系統(tǒng)運行結(jié)果如下表所示。
系統(tǒng)運行結(jié)果
由上表可見,由于采用多線程操作,對多個數(shù)據(jù)表進行轉(zhuǎn)換效率較高。由于部分數(shù)據(jù)導入時數(shù)據(jù)格式不兼容或數(shù)據(jù)超出導入后數(shù)據(jù)庫字段的范圍,因此出現(xiàn)數(shù)據(jù)無法導入的情況。我們今后的研究重點主要在于對數(shù)據(jù)容錯性的研究,在保證運行效率的情況下對錯誤或越界數(shù)據(jù)進行修復,進一步提高數(shù)據(jù)轉(zhuǎn)換成功率。
本文結(jié)合實際工作提出了一種通用數(shù)據(jù)庫轉(zhuǎn)換系統(tǒng)的設(shè)計方案,能夠避免現(xiàn)有技術(shù)存在的不足和功能的局限,結(jié)合現(xiàn)有技術(shù)的優(yōu)點,對現(xiàn)有技術(shù)進行了改進和再創(chuàng)造。通過ADO.NET數(shù)據(jù)中間件,結(jié)合XML,使得系統(tǒng)兼顧靈活性與轉(zhuǎn)換效率,減少數(shù)據(jù)轉(zhuǎn)換時間,提高數(shù)據(jù)轉(zhuǎn)換的可靠性。實際運行結(jié)果表明,本系統(tǒng)在處理數(shù)據(jù)轉(zhuǎn)換時基本滿足了設(shè)計要求,方便用戶的使用,有較高的應(yīng)用價值。
[1]胡廣,孫燾,閆英輝.利用XML與XSLT實現(xiàn)異構(gòu)數(shù)據(jù)庫間的數(shù)據(jù)轉(zhuǎn)換[J].現(xiàn)代計算機,2007(8):64-66.
[2]姚領(lǐng)眾.一種基于中間庫的數(shù)據(jù)庫間數(shù)據(jù)轉(zhuǎn)換技術(shù)[J].計算機系統(tǒng)應(yīng)用,1996(11):27-29.
[3]NAHAR, PAWAN. Data migration using active cloud engine[J].Cloud Computing in Emerging Markets (CCEM), 2012 IEEE,2012:1-4.
[4]崔學榮,李慶云,李娟.關(guān)系數(shù)據(jù)庫到XML數(shù)據(jù)庫轉(zhuǎn)換中間件的設(shè)計與實現(xiàn)[J].廣西師范大學學報(自然科學版),2007,25(4):132-135.
[5]鄧芳.XML文檔到數(shù)據(jù)庫數(shù)據(jù)轉(zhuǎn)換研究[J].北京郵電大學學報,2004,27(1):84-88.
[6]吳立鋒,宋中山.基于XML的數(shù)據(jù)轉(zhuǎn)換中間件的研究[J].中南民族大學學報(自然科學版),2005,24(4):76-78.
[7]曹剛,周伯鑫.一種基于ODBC通用數(shù)據(jù)轉(zhuǎn)換工具的實現(xiàn)[J].計算機工程與應(yīng)用,1999(6):72-74.
[8]DAVID S. Microsoft Ado. Net: Core Reference[M]. Microsoft Press Redmond, WA, USA 2002.
[9]W3C Recommendation. Extensible Markup Language 1.1[DB/CD]. http://www.w3.org/TR/2006/REC-xml11-20060816/
[10]Berdaguer P, Cunha A, Pacheco H, et al. Coupled schema transformation and data conversion for XML and SQL[J].Practical Aspects of Declarative Languages, 2007, 4354: 290-304.
Design and Implementation of A Universal Database Conversion System Based on .NET
WANG Mei-qin
(Zhejiang Tongji Vocational College of Science and Technology, Hangzhou 311231, China)
In the digital age, rapid data growth and adoption of latest applications are leading to growing environmental complexity and fundamental changes in the database structure and managementsystem of commercial corporate databases. Meanwhile, the value of historical data should not be ignored. Therefore,corporations are putting more and more efforts into migrating data across different databases. To analyze the problems with the current database conversion system, we designed an agile,universal, efficient and reliable database conversion system based on ADO.NET and XML. The system is divided into two function modules: database configuration and conversion. With this system, the users would be able to complete data migration and data structure conversion across complex databases through simple interactive operations. The system has already been applied to upgrade a database of Water Resources Bureau.
database transformation; data migration; ADO.NET; XML
TP392
A
1007-9386(2017)04-0050-04
2017-09-19