在64位SQL Server中建立Oracle的連結的伺服器

來源:互聯網
上載者:User

標籤:

當我們同時使用SQL Server和Oracle來儲存資料時,經常會用到跨庫查詢。為了方便使用跨庫查詢,一個最好的辦法就是通過建立連結的伺服器來實現。既可以在SQL Server中建立Oracle的連結的伺服器,也可以在Oracle中建立SQL Server的連結的伺服器。本文主要講述如何在SQL Server中建立Oracle的連結的伺服器,可以通過圖形介面和命令兩種方式來建立。

工具/原料
  • Microsoft Windows Server 2003 R2 Enterprise x64 Edition Service Pack2

  • Microsoft SQL Server 2005 Standard Edition x64

  • Oracle Provider for OLE DB

0. 前期準備工作——安裝驅動
  •     如果用32位win2003作業系統,會有系統內建的Microsoft OLE DB Provider for Oracle驅動,因此不需要做額外的準備工作,但如果使用的是64位系統,那麼這個驅動是沒有的,並且微軟也不提供這個驅動的64位版本,因此,此時只能使用Oracle提供的Oracle Provider for OLE DB這個驅動。

        那麼如何安裝這個驅動呢?安裝一個完整的Oracle11gR2程式也是一個有效方法,但這個64位版本的安裝包有2個多G,相當龐大,如果僅僅是為了建立連結的伺服器,完全沒必要裝這麼個龐然大物。其實我們只需要到Oracle官網上下載ODAC壓縮包即可。

        至於如何安裝ODAC,不是本文的重點,大家可以百度搜尋我的另一篇文章——《Oracle資料訪問組件ODAC的安裝方法》。

    END
1. 通過圖形介面建立Oracle的連結的伺服器
  1. 1

    開啟Microsoft SQL Server Management Studio並以sa身份登入,在左側的“物件總管”視窗中展開“伺服器對象”節點,在其下的“連結的伺服器”節點上右鍵選擇“建立連結的伺服器...”,

  2. 2

    在彈出的“建立連結的伺服器”對話方塊中,按照圖示填寫,具體填寫項目說明如下:

    * 連結的伺服器:這是連結的伺服器的別名,名字可以由你自己隨意決定

    * 伺服器類型選擇“其他資料來源”

    * 提供者:一定要選擇“Oracle Provider for OLE DB”。如果是32位系統,還可以選擇“Microsoft OLE DB Provider for Oracle”,但64位系統就只能選擇前者

    * 產品名稱:一定是“Oracle”,這是固定寫法,只要是連結Oracle資料庫,都得這麼寫

    * 資料來源:是你要連結的Oracle資料庫的庫名。在我的Oracle資料庫軟體裡,建立了一個名為ora的資料庫,我想連結到這個名為ora的資料庫,所以我這裡的“資料來源”填的就是“ora”,大家可以根據自己的實際情況來填寫。

    填好以後不要急著去點擊“確定”按鈕。

  3. 3

    再點擊左側“選項頁”裡的“安全性”,右邊選擇最下面的“使用此安全上下文建立串連”,然後在下面輸入串連到ora(根據自己的實際情況來更改)資料庫的使用者名稱和密碼。再點擊“確認”按鈕,至此,一個明文ORA_TEST的連結的伺服器就建好了。

    END
2. 通過命令來建立Oracle的連結的伺服器
  • 把下面兩條命令語句補全,然後在SQL Server中執行即可建立成功:

  • EXEC master.dbo.sp_addlinkedserver @server = N‘別名‘, @srvproduct=N‘庫名‘,@provider=N‘MSDAORA‘, @datasrc=N‘TNS名‘

  • EXEC master.dbo.sp_addlinkedsrvlogin @rmtsrvname = N‘別名‘, @locallogin = NULL ,@useself = N‘False‘, @rmtuser = N‘模式名‘, @rmtpassword = N‘密碼‘

    END
3. 測試查詢Oracle資料庫
  • select * from openquery(ORA_TEST, ‘SELECT * FROM tab‘)

    END
4. 可能遇到的問題
  • 在測試查詢Oracle資料庫時,有可能會遇到無法建立“OraOLEDB.Oracle”的執行個體的錯誤。這個問題可以在百度經驗裡搜尋我的另一篇文章——《無法建立“OraOLEDB.Oracle”的執行個體的解決辦法》。

    END
注意事項
  • 本文的成功是建立在Oracle資料庫驅動的成功安裝和tnsnames.ora檔案的正確配置的基礎之上的,對這一點如果有疑惑,大家可以百度搜尋我的另一篇文章——《Oracle資料訪問組件ODAC的安裝方法》。

  • 在測試查詢Oracle資料庫時,有可能會遇到無法建立“OraOLEDB.Oracle”的執行個體的錯誤。這個問題可以在百度經驗裡搜尋我的另一篇文章——《無法建立“OraOLEDB.Oracle”的執行個體的解決辦法》。

在64位SQL Server中建立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.