文章出處

前言

有很多時候,我們需要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


文章列表




Avast logo

Avast 防毒軟體已檢查此封電子郵件的病毒。
www.avast.com


arrow
arrow
    全站熱搜
    創作者介紹
    創作者 大師兄 的頭像
    大師兄

    IT工程師數位筆記本

    大師兄 發表在 痞客邦 留言(0) 人氣()