數據庫: 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