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

字號(hào):

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