當咱們同時使用SQL Server和Oracle來存儲數據時,常常會用到跨庫查詢。爲了方便使用跨庫查詢,一個最好的辦法就是經過建立連接服務器來實現。既能夠在SQL Server中建立Oracle的連接服務器,也能夠在Oracle中建立SQL Server的連接服務器。本文主要講述如何在SQL Server中建立Oracle的連接服務器,能夠經過圖形界面和命令兩種方式來建立。html
當咱們同時使用SQL Server和Oracle來存儲數據時,常常會用到跨庫查詢。爲了方便使用跨庫查詢,一個最好的辦法就是經過建立連接服務器來實現。既能夠在SQL Server中建立Oracle的連接服務器,也能夠在Oracle中建立SQL Server的連接服務器。本文主要講述如何在SQL Server中建立Oracle的連接服務器,能夠經過圖形界面和命令兩種方式來建立。html
Microsoft Windows Server 2003 R2 Enterprise x64 Edition Service Pack2數據庫
Microsoft SQL Server 2005 Standard Edition x64安全
Oracle Provider for OLE DB服務器
若是用32位win2003操做系統,會有系統自帶的Microsoft OLE DB Provider for Oracle驅動,所以不須要作額外的準備工做,但若是使用的是64位系統,那麼這個驅動是沒有的,而且微軟也不提供這個驅動的64位版本,所以,此時只能使用Oracle提供的Oracle Provider for OLE DB這個驅動。ide
那麼如何安裝這個驅動呢?安裝一個完整的Oracle11gR2程序也是一個有效的方法,但這個64位版本的安裝包有2個多G,至關龐大,若是僅僅是爲了創建連接服務器,徹底不必裝這麼個龐然大物。其實咱們只須要到Oracle官網上下載ODAC壓縮包便可。工具
至於如何安裝ODAC,不是本文的重點,你們能夠百度搜索個人另外一篇文章——《Oracle數據訪問組件ODAC的安裝方法》。測試
打開Microsoft SQL Server Management Studio並以sa身份登陸,在左側的「對象資源管理器」窗口中展開「服務器對象」節點,在其下的「連接服務器」節點上右鍵選擇「新建連接服務器...」,如圖ui
在彈出的「新建連接服務器」對話框中,按照圖示填寫,具體填寫項目說明以下:spa
* 連接服務器:這是連接服務器的別名,名字能夠由你本身隨意決定操作系統
* 服務器類型選擇「其餘數據源」
* 訪問接口:必定要選擇「Oracle Provider for OLE DB」。若是是32位系統,還能夠選擇「Microsoft OLE DB Provider for Oracle」,但64位系統就只能選擇前者
* 產品名稱:必定是「Oracle」,這是固定寫法,只要是連接Oracle數據庫,都得這麼寫
* 數據源:是你要連接的Oracle數據庫的庫名。在個人Oracle數據庫軟件裏,創建了一個名爲ora的數據庫,我想連接到這個名爲ora的數據庫,因此我這裏的「數據源」填的就是「ora」,你們能夠根據本身的實際狀況來填寫。
填好之後不要急着去點擊「肯定」按鈕。
再點擊左側「選項頁」裏的「安全性」,右邊選擇最下面的「使用此安全上下文創建鏈接」,而後在下面輸入鏈接到ora(根據本身的實際狀況來更改)數據庫的用戶名和密碼。再點擊「確認」按鈕,至此,一個明文ORA_TEST的連接服務器就建好了。
把下面兩條命令語句補全,而後在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'密碼'