Access2000遷移到Oracle9i要點(diǎn)
正在看的ORACLE教程是:Access2000遷移到Oracle9i要點(diǎn)。 Oracle9i中提供強(qiáng)大的遷移功能,可以從多種數(shù)據(jù)庫(kù)向Oracle遷移數(shù)據(jù)。Oracle新發(fā)行的遷移工具提供了從Access2000向Oracle92010遷移的簡(jiǎn)便易行的解決方案,該方案克服了中文亂碼問(wèn)題和字符串被截?cái)嗟膯?wèn)題,如下就是從Access2000向Oracle92010遷移的全過(guò)程。
一、到otn下載最新版本的omwb(oracle migration workbench)并安裝到http://otn.oracle.com/tech/migration/focusareas/access.html 下載oracle migration workbench release 9.2.0.1.2 for microsoft windows 98/nt/2000/xp 和 從access 2.0, 95, 97 or 2000 to 到oracle平臺(tái)遷移的插件,二者的最新版本都是92012。首先把omwb安裝到與oracle不同的主目錄中,然后安裝access插件到同一目錄。
二、為遷移準(zhǔn)備數(shù)據(jù)源
到OMWB主目錄的Omwbmsaccess_exporter目錄下,打開(kāi)omwb2000.mde文件,輸入將要遷移的Access數(shù)據(jù)庫(kù)文件和即將生成的針對(duì)數(shù)據(jù)庫(kù)的XML描述文件,這時(shí)你回發(fā)現(xiàn)在與Access相同的路徑下生成了一個(gè)同名的XML文件,打開(kāi)這個(gè)文件,其中記錄了Access數(shù)據(jù)庫(kù)的表的列和關(guān)系、視圖的定義。OMWB支持Access的中文表名和列名,但要注意在生成XML文件之前要先修改OmwbmsAccess_exporterschema.dtd文件,將首行的encoding=”ISO-8859-1″修改為encoding=”GBK”,然后在通過(guò)打開(kāi)omwb2000.mde文件為數(shù)據(jù)庫(kù)生成XML文件,這時(shí)表名和列名就成功顯示中文了,在遷移到Oracle之前,還要用同樣方法修改生成的XML文件的編碼為encoding=”GBK”。
三、運(yùn)行OMWB,執(zhí)行遷移過(guò)程
運(yùn)行OMWB,根據(jù)提示,輸入Access數(shù)據(jù)庫(kù)的描述文件,即上一步生成的XML文件,根據(jù)該文件為遷移生成數(shù)據(jù)源,該數(shù)據(jù)源包括表、索引、主鍵、關(guān)系和表驗(yàn)證規(guī)則。接下來(lái)生成Oracle模型,OMWB自動(dòng)生成表空間和兩個(gè)用戶。數(shù)據(jù)源和目標(biāo)數(shù)據(jù)模型都存儲(chǔ)在Oracle的資料檔案庫(kù)里,該庫(kù)由安裝OMWB工具時(shí)系統(tǒng)提示生成。下一步就可以執(zhí)行遷移過(guò)程了,還可以為遷移生成腳本程序。
四、解決中文字符被截?cái)嗟膯?wèn)題
OMWB提供由數(shù)據(jù)源和目的的數(shù)據(jù)類(lèi)型影射,修改該數(shù)據(jù)影射可以改變遷移目標(biāo)的數(shù)據(jù)長(zhǎng)度和類(lèi)型,但我嘗試多次也沒(méi)能解決這個(gè)問(wèn)題,包括在OMWB讀取XML文件生成的Access模型中修改源數(shù)據(jù)類(lèi)型也無(wú)濟(jì)于事。問(wèn)題在于Access本身。首先打開(kāi)Access數(shù)據(jù)庫(kù),修改其數(shù)據(jù)表中的數(shù)據(jù)類(lèi)型和長(zhǎng)度,保存數(shù)據(jù)庫(kù)后退出,再次為數(shù)據(jù)庫(kù)生成XML描述,這時(shí)我們會(huì)發(fā)現(xiàn)XML文件的表列定義改變了,重新運(yùn)行OMWB,為遷移生成源數(shù)據(jù)模型后,源模型和目標(biāo)模型的數(shù)據(jù)類(lèi)型和長(zhǎng)度也自動(dòng)改變了,之后的遷移過(guò)程即可正確遷移長(zhǎng)中文字符串了。Oracle提供的企業(yè)管理器和應(yīng)用服務(wù)器的web形式界面里存在幾處相同的問(wèn)題,修改資料檔案庫(kù)根本不能解決問(wèn)題,這也算是Oracle數(shù)據(jù)庫(kù)產(chǎn)品的圖形界面工具的缺陷