將應用程式從Sql Server遷移到Oracle

iSQlServer發表於2009-02-06

資料庫: Sql Server 2008, Oracle 9i
工具: Sybase PowerDesiner 12 試用版, PL/SQL Developer 7.1.5

遷移主要有兩個工作:
  1. 根據Sql Server資料庫生成建立Oracle資料庫的指令碼
  2. 修改程式碼中的SQL語句

根據Sql Server資料庫生成建立Oracle資料庫的指令碼
  1. 用PowerDesiner將Sql Server資料庫反向工程生成物理資料模型
  2. 根據反向工程生成的物理資料模型建立邏輯模型
  3. 再根據邏輯模型生成Oracle資料庫版本的物理模型
  4. 根據Oracle資料庫版本的物理模型生成Oracle資料庫建立指令碼
  5. 按照Oracle命名規則和資料型別定義修改Oracle資料庫建立指令碼
  6. 在PL/SQL Developer中執行以檢驗其正確性

修改程式碼中的SQL語句
  1. Sql Server中經常用方括號把表名和欄位名括起來, 到Oracle中要把這些方括號都去掉
  2. 將引數變更前的"@"符號改為":"符號
  3. 將Sql Server專有的方法和函式替換成Oracle相應的方法和函式
  4. 在PL/SQL Developer中執行SQL語句以檢驗其正確性

轉換過程中的常見問題
  1. 表名和欄位名使用了Oracle中的關鍵字
  2. Sql Server中的NVARCHAR資料型別可存4000個漢字, Oracle中的NVARCHAR/NVARCHAR2資料型別只能存2000個漢字
  3. 索引名稱和外來鍵名稱超過了30個字元
  4. PowerDesigner生成的指令碼, 表名和欄位名都加了引號, 要去掉

參考引用:
  Oracle 資料型別
    http://download.oracle.com/docs/cd/B10501_01/server.920/a96540/sql_elements2a.htm#45443

  Oracle命名規則
    http://q.yesky.com/group/review-17556825.html

  將公司系統從SqlServer 2K移植到Oracle 10g中的簡要總結
    http://www.cnblogs.com/yiping06993010/archive/2007/08/02/840220.html

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/16436858/viewspace-545475/,如需轉載,請註明出處,否則將追究法律責任。

相關文章