熱點推薦:
您现在的位置: 電腦知識網 >> 編程 >> Oracle >> 正文

ORACLE8I轉換數據到SQLSERVER數據庫

2013-11-13 15:55:11  來源: Oracle 

  最近做一個項目的DOTNET版說是升級從ASP升為DOTNET可因為項目架構原因數據庫得從ORACLE轉為SQL SERVER^_|| 之前未使用過ORACLE轉換數據過程中碰到了不小的麻煩

  

  這中間過程之痛苦不再贅述直接講我導數據流程及遇到的問題如有講錯的地方請大家指教~~

  

  一前提 因為我是從ORACLE數據庫服務器導出到目的機器所以首先在目的機器上安裝ORACLE同一版本的客戶端這樣做是為了在用MSSQL導入數據時能選擇ORACLE數據源接下來我做的這個動作不知是否是必須的ORACLE程序菜單中>net manage增加一個服務命名填入源機器所在ORACLE庫服務名主機名

  

  二在目的機器上安裝了PL/SQL Devloper 填入登錄源數據庫的用戶名密碼選擇數據庫登入OK這步主要查看ORACLE數據庫為了知道哪些表或其它元素需要導出並作參考

  

  三具體工作來了

  ()表如果只需要導出表結構用PL/SQL Devloper >Tools >Export Tables選擇表填入文件名導出

  存儲過程視圖函數用PL/SQL Devloper >Tools >Export User Objects 選擇對象填入文件名導出

  ()以上SQL文件導完因PLSQL和SQL的些許不同花了點心思把它們改成SQLSERVER上可以執行的語句在MSSQL的查詢分析器中執行生成

  ()導出表結構及數據在目的機器上數據源管理器中新建一個系統DSN或文件DSN選擇ORACLE ODBC DRIVER 數據源名稱和說明隨便填服務名及用戶ID填ORACLE源數據庫相應的服務名 然後運行MSSQL >導入導出工具>選擇源數據中選擇其它(ODBC數據源)選擇剛才建的系統DSN或文件DSN填入登錄ORACLE庫的用戶名密碼進入接下來的選擇目標源動作就和MSSQL自己的導入數據操作是一樣了導完之後記得更改相應的字段類型默認值等等

  ORACLE到SQLSERVER需要注意的有

  ()表中字段類型的變化number 變為floatvarchar變為varchar

  ()ORACLE中沒有設置自增字段有需要用到時它是在sequence中建一個sequence所以得查找ORACLE表中是否有這種對應從而在MSSQL中設置自增字段

  ()在導出表結構及數據中碰到了個問題選擇數據源時我選中了系統DSN填入用戶名密碼點下一步時彈出了個錯誤窗口提示ocidll找不到指定的模塊點確定後提示用戶名密碼錯誤上網搜索了N久才找出解決方法()ORACLEi以上Net Manager>本地>概要文件>ORACLE高級安全性>驗證>去掉NTS這一項(因為我使用的是ORACLEI所以沒試過這方法但網上作者說可以)() 在ORACLE安裝目錄下搜索到Sqlnetora文件加入一行: sqlnetauthenticationservices=(none)保存重啟機器再試下從MSSQL導入導出工具連接源機器OK

  至此ORACLE轉MSSQL的工作大部分就完成了希望對大家有點幫助歡迎回貼指點錯誤及另好的方法


From:http://tw.wingwit.com/Article/program/Oracle/201311/17519.html
    推薦文章
    Copyright © 2005-2013 電腦知識網 Computer Knowledge   All rights reserved.