SqlServer2012導入Oracle詳細案例


  第一次使用SqlServer2012,界面和VS2012風格一致了,Great!

  進入正題,這篇博文主要寫一下自己親測的一個案例,使用SqlServer2012的“導入和導出數據”功能向Oracle11g導入數據表,本機裝的是SqlServer2012和Oracle11g客戶端,Oracle實例安裝在服務器192.168.40.115上。

  1.  打開“導入和導出數據”工具,第一個選擇數據源,本地服務器名稱就寫點號“.”或者“localhost”,身份驗證選擇第一個即可,然后選擇要導出的數據庫名稱,接着點擊下一步。

  

  2.  在“目標”下拉框選擇“.Net Framework Data Provider for Oracle”(SqlServer2012版本的導入導出數據工具去除了以前版本里的Microsoft ODBC for Oracle),在Password和User ID填寫登錄到Oracle數據庫的密碼和用戶名,在DataSource欄按照以下格式填寫(尾部不要帶  有分號):

  (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=192.168.40.115)(PORT=1521))(CONNECT_DATA=(SERVICE_NAME=orcl))) 

  填好后,點擊空白處“ConnectionString”會自動生成。點擊下一步。

  

  3.  如果連接不成功會提示:

  

    如果連接成功,則會進入下一步:

  

  如果不是整表導出,則選擇第二個選項,使用SQL語句篩選導出數據,這里是整表導出,所以直接點擊下一步。

  4.  選擇需要的導出的表。

  

  雙擊所選表的對應的按鈕,打開“列映射”窗口,

  

  再點擊“編輯 SQL”按鈕,

  

  這里發現工具自動生成的Oracle中創建表的SQL語句有一點小問題,就是表名和列名都是帶雙引號的,這樣生成的表名和列名也是帶雙引號的,但如果在這里將SQL語句修改正確,最終導出數據的結果是只創建成功了表,但數據傳輸失敗,所以選擇默認的SQL語句執行,最后在Oracle里更改表名和列名。

  5.  由於Oracle沒有int類型,所以需要進行轉換,根據情況,選擇出錯時的處理方式,再點擊下一步。

  

  6.  這一步沒什么好說的,點擊“完成”,則執行數據導出工作。

  

  7.  執行成功的結果

  

  8.  最后需要在PL/SQL中對帶雙引號的表名和列名進行重命名處理,分別使用兩條SQL語句:

  “ALTER TABLE old_table_name RENAME TO new_table_name;--重命名表

  ALTER TABLE [table_name] RENAME COLUMN [column_name] TO [new_column_name];--重命名列”


  結束語:這次是通過“.Net Framework Data Provider for Oracle”的方法向Oracle導入數據,因為工具自身的缺陷,最后需要對結果進行一下小處理,總體而言方法還算簡便。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM