Oracle 9i強大功能的體現(xiàn)
我們大家都知道Oracle 9i具有很強大功能,其中包括遷移功能,我們可從多種不同數(shù)據(jù)庫向Oracle進(jìn)行遷移數(shù)據(jù)。Oracle數(shù)據(jù)庫新發(fā)行的相關(guān)的遷移工具,其提供了從Access 2000向Oracle 92010遷移的簡便易行的解決方案。
該方案克服了中文亂碼問題和字符串被截斷的問題,如下就是從Access 2000向Oracle 92010遷移的全過程。
一、下載***版本的OMWB(Oracle Migration Workbench)
并安裝到下載Oracle Migration Workbench Release 9.2.0.1.2 for MicrosoftWindows98/NT/2000/XP 和 從Access 2.0, 95, 97 or 2000 to 到Oracle平臺遷移的插件,二者的***版本都是92012。首先把OMWB安裝到與Oracle不同的主目錄中,然后安裝Access插件到同一目錄。
二、為遷移準(zhǔn)備數(shù)據(jù)源
到OMWB主目錄的\Omwb\msaccess_exporter目錄下,打開omwb2000.mde文件,輸入將要遷移的Access數(shù)據(jù)庫文件和即將生成的針對數(shù)據(jù)庫的XML描述文件,這時你回發(fā)現(xiàn)在與Access相同的路徑下生成了一個同名的XML文件,打開這個文件,其中記錄了Access數(shù)據(jù)庫的表的列和關(guān)系、視圖的定義。
OMWB支持Access的中文表名和列名,但要注意在生成XML文件之前要先修改\Omwb\msAccess_exporter\schema.dtd文件,將首行的encoding=“ISO-8859-1”修改為encoding=“GBK”,然后在通過打開omwb2000.mde文件為數(shù)據(jù)庫生成XML文件,這時表名和列名就成功顯示中文了,在遷移到Oracle 9i之前,還要用同樣方法修改生成的XML文件的編碼為encoding=“GBK”。
三、運行OMWB執(zhí)行遷移過程
運行OMWB,根據(jù)提示,輸入Access數(shù)據(jù)庫的描述文件,即上一步生成的XML文件,根據(jù)該文件為遷移生成數(shù)據(jù)源,該數(shù)據(jù)源包括表、索引、主鍵、關(guān)系和表驗證規(guī)則。接下來生成Oracle模型,OMWB自動生成表空間和兩個用戶。數(shù)據(jù)源和目標(biāo)數(shù)據(jù)模型都存儲在Oracle的資料檔案庫里,該庫由安裝OMWB工具時系統(tǒng)提示生成。
下一步就可以執(zhí)行遷移過程了,還可以為遷移生成腳本程序。
四、解決中文字符被截斷的問題
OMWB提供由數(shù)據(jù)源和目的的數(shù)據(jù)類型影射,修改該數(shù)據(jù)影射可以改變遷移目標(biāo)的數(shù)據(jù)長度和類型,但我嘗試多次也沒能解決這個問題,包括在OMWB讀取XML文件生成的Access模型中修改源數(shù)據(jù)類型也無濟(jì)于事。問題在于Access本身。
首先打開Access數(shù)據(jù)庫,修改其數(shù)據(jù)表中的數(shù)據(jù)類型和長度,保存數(shù)據(jù)庫后退出,再次為數(shù)據(jù)庫生成XML描述,這時我們會發(fā)現(xiàn)XML文件的表列定義改變了,重新運行OMWB,為遷移生成源數(shù)據(jù)模型后,源模型和目標(biāo)模型的數(shù)據(jù)類型和長度也自動改變了,之后的遷移過程即可正確遷移長中文字符串了。
Oracle 9i提供的企業(yè)管理器和應(yīng)用服務(wù)器的web形式界面里存在幾處相同的問題,修改資料檔案庫根本不能解決問題,這也算是Oracle數(shù)據(jù)庫產(chǎn)品的圖形界面工具的缺陷。
【編輯推薦】