將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
解決辦法
換用更高版本的數據庫
文章列表