將應(yīng)用程序從SqlServer遷移到Oracle

字號:

數(shù)據(jù)庫: Sql Server 2008, Oracle 9i
    工具: Sybase PowerDesiner 12 試用版, PL/SQL Developer 7.1.5
    遷移主要有兩個(gè)工作:
    1. 根據(jù)Sql Server數(shù)據(jù)庫生成創(chuàng)建Oracle數(shù)據(jù)庫的腳本
    2. 修改代碼中的SQL語句
    根據(jù)Sql Server數(shù)據(jù)庫生成創(chuàng)建Oracle數(shù)據(jù)庫的腳本
    1. 用PowerDesiner將Sql Server數(shù)據(jù)庫反向工程生成物理數(shù)據(jù)模型
    2. 根據(jù)反向工程生成的物理數(shù)據(jù)模型創(chuàng)建邏輯模型
    3. 再根據(jù)邏輯模型生成Oracle數(shù)據(jù)庫版本的物理模型
    4. 根據(jù)Oracle數(shù)據(jù)庫版本的物理模型生成Oracle數(shù)據(jù)庫創(chuàng)建腳本
    5. 按照Oracle命名規(guī)則和數(shù)據(jù)類型定義修改Oracle數(shù)據(jù)庫創(chuàng)建腳本
    6. 在PL/SQL Developer中執(zhí)行以檢驗(yàn)其正確性
    修改代碼中的SQL語句
    1. Sql Server中經(jīng)常用方括號把表名和字段名括起來, 到Oracle中要把這些方括號都去掉
    2. 將參數(shù)變更前的"@"符號改為":"符號
    3. 將Sql Server專有的方法和函數(shù)替換成Oracle相應(yīng)的方法和函數(shù)
    4. 在PL/SQL Developer中執(zhí)行SQL語句以檢驗(yàn)其正確性
    轉(zhuǎn)換過程中的常見問題
    1. 表名和字段名使用了Oracle中的關(guān)鍵字
    2. Sql Server中的NVARCHAR數(shù)據(jù)類型可存4000個(gè)漢字, Oracle中的NVARCHAR/NVARCHAR2數(shù)據(jù)類型只能存2000個(gè)漢字
    3. 索引名稱和外鍵名稱超過了30個(gè)字符
    4. PowerDesigner生成的腳本, 表名和字段名都加了引號, 要去掉
    參考引用:
    Oracle 數(shù)據(jù)類型
    http://pic02.newdu.com/uploads/202503/20/sql_elements2a2220.htm