正在看的ORACLE教程是:Access2000遷移到Oracle9i要點。 Oracle9i中提供強(qiáng)大的遷移功能,可以從多種數(shù)據(jù)庫向Oracle遷移數(shù)據(jù)。Oracle新發(fā)行的遷移工具提供了從Access2000向Oracle92010遷移的簡便易行的解決方案,該方案克服了中文亂碼問題和字符串被截斷的問題,如下就是從Access2000向Oracle92010遷移的全過程。 一、到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平臺遷移的插件,二者的最新版本都是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之前,還要用同樣方法修改生成的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提供的企業(yè)管理器和應(yīng)用服務(wù)器的web形式界面里存在幾處相同的問題,修改資料檔案庫根本不能解決問題,這也算是Oracle數(shù)據(jù)庫產(chǎn)品的圖形界面工具的缺陷
<
您可能感興趣的文章:- oracle 數(shù)據(jù)庫數(shù)據(jù)遷移解決方案
- 深入ORACLE遷移到MYSQL的總結(jié)分析
- Oracle表空間數(shù)據(jù)文件移動的方法
- 在ORACLE移動數(shù)據(jù)庫文件
- 在ORACLE移動數(shù)據(jù)庫文件
- mysql數(shù)據(jù)庫遷移至Oracle數(shù)據(jù)庫
- Oracle數(shù)據(jù)庫升級或數(shù)據(jù)遷移方法研究
- Oracle數(shù)據(jù)庫遷移方案
- 數(shù)據(jù)從MySQL遷移到Oracle 需要注意什么
- 直接拷貝數(shù)據(jù)文件實現(xiàn)Oracle數(shù)據(jù)遷移