1. 程式人生 > >將MS SQL SERVER 數據庫導入到ORACLE的坑

將MS SQL SERVER 數據庫導入到ORACLE的坑

支持 proto ros microsoft manage 不存在 bin 沒有 調用

將MS SQL SERVER 數據庫導入到ORACLE的坑

通過Sql Server Management Studio將SQL SERVER數據庫導入ORACLE過程遇到的坑

1.Sql Server Management Studio安裝目錄空格問題,結果報 ORA-06413: 連接未打開
現在的電腦都是安裝64位操作系統,Sql Server Management Studio都是安裝在C:\Program Files (x86)\Microsoft SQL Server,因此使用Sql Server Management Studio
連接ORACLE時都會報ORA-06413: 連接未打開錯誤

解決辦法:Sql Server Management Studio的導出功能也是調用DTS,因此可能將dts的exe及文件復制到一個自定義沒有空格的目錄下,直接用DTSWizard.exe進行導出
dts的DTSWizard.exe及其它文件源路徑
C:\Program Files (x86)\Microsoft SQL Server\110\DTS\Binn

2.ORACLE的數據源或主機字符串寫法
(DESCRIPTION =(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)(HOST=xxx.xxx.xxx.xxx)(PORT=1521)))(CONNECT_DATA=(SERVICE_NAME = xxx.xx)))

HOST:ORACLE服務器的IP
SERVICE_NAME:ORACLE中數據庫名字(註意是全名)

3.導入數據不允許插入NULL問題
SQL SERVER 中的‘‘,NULL在ORACLE中都是NULL,因此在SQL SERVER 表中不可為NULL,數據為‘‘在ORACLE都是導入不進去的

解決辦法:調整ORACLE中表的是否為NULL屬性或改變SQL SERVER表中‘‘的值為其它

4.導入成功後,在ORACLE查詢表,報“表或視圖不存在”錯誤
這是因為ORACLE表名默認都是大寫格式的,如果是小寫表名,則在導入時給表名加了“”,可能通過 SELECT *FROM “Mytable"來查詢到

解決辦法
在導入時,修改創建表的表名為全大寫形式

5.使用odp.net 及odp.net ef連接到oracle 9i 報ORA-01017: invalid username/password; logon denied
odp.net及odp.net ef支持最低的oracle數據庫版本為oracle 10g.2

解決辦法
換用更高版本的數據庫

將MS SQL SERVER 數據庫導入到ORACLE的坑