前言
有很多時候,我們需要MSSQL與Oracle進行跨庫查詢或數據交互。本篇隨筆將闡述如何通過MSSQL的連接服務器連接至Oracle數據庫,并且讀取數據的示例。
具體步驟
首先需要到Oracle的官網下載Oracle Client(簡稱OCT),也就是通常大家所說的Oracle客戶端。OCT的作用就是連接MSSQL與Oracle的一個橋梁,有了OCT就可讓MSSQL與Oracle互相通信。
OCT的官網下載地址為: http://www.oracle.com/technetwork/database/enterprise-edition/downloads/database12c-win64-download-2297732.html,如下圖:
當前的Oracle最新版本為12C,將頁面向下拖動,會發現兩個OCT的版本。
分別為32位OCT和64位OCT。根據你的系統情況,安裝對應的版本即可。
博主的相關版本如下
服務器 | 操作系統 | 數據庫 |
Server1 | Windows Server 2012 R2 x64 | Microsoft Sql Server 2014 Enterprise x64 |
Server2 | Windows Server 2012 R2 x64 | Oracle 10g |
細心的人可能會問,為什么你的Oracle 是10g,你要選擇12c版本的OCT,這個原因主要是因為博主有高版本強迫癥。
由于Server1是64位操作系統,所以選擇了64位的OCT進行安裝。安裝過程很簡單,運行setup即可,這里就不再贅述。
安裝完成之后最好重啟一次服務器,避免發生未知錯誤。
重啟之后,通過OCT的Net Manager進行Oracle連接配置。如下圖:
配置好之后通過連接測試,測試一下是否正確,如果連接成功,表示配置正確無誤。
打開MSSQL,在連接服務器的訪問接口中,你會發現多出了一個OraOLEDB.Oracle的接口。如下圖:
該接口的具體配置如下:
這里注意,"允許進程內"項必須勾選,否則將無法連接到oracle
最后一步,需要新建連接服務器,具體步驟如下圖所示:
其中連接服務器名稱為MSSQL連接服務器的名字,提供程序為Oracle Provider for OLE DB,該Provider是在安裝完成OCT之后才會有。產品名稱無關緊要,博主這里填寫的是具體的Oracle版本。最重要的是數據源參數,博主填寫的是tpemr,這個參數的來源是在OCT的Net Manager中配置的服務命名(如下圖中服務器命名為tpemr),如果填寫錯誤或者Net Manager中配置錯誤,都將導致無法連接到Oracle。
之后在安全性選項卡中配置tpemr相關的Oracle用戶名和密碼。之后確定即可,如下圖:
之后在MSSQL的連接服務器中將會出現一個新的TPEMR連接服務器。通過測試連接可測試連接是否正常,如下圖:
至此,MSSQL的連接服務器連接至Oracle數據庫完成。
通過MSSQL的連接服務器查詢Oracle數據
查詢的方法很簡單,基本語法與MSSQL連接MSSQL的連接服務器的查詢語法類似。
基本方式為 select * from [連接服務器名稱]..[數據庫所有者名稱].[表名]
其余的CRUD操作和這種方式類似。但是前提是你的Oracle賬戶具備這些權限。
后續
本博文具體的闡述了建立MSSQL連接服務器連接至Oracle數據庫的方法,最后說明了一下跨庫查詢的方式。希望對你有所幫助。如果感覺不錯,請點一波推薦。
轉載請注明出處: http://www.cnblogs.com/smallprogram
文章列表