SqlServer2012匯入Oracle詳細案例

來源:互聯網
上載者:User

標籤:des   cWeb   style   blog   color   os   io   使用   java   

  第一次使用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匯入資料,因為工具自身的缺陷,最後需要對結果進行一下小處理,總體而言方法還算簡便。

SqlServer2012匯入Oracle詳細案例

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.