SQL Server x64建立Oracle Linked Server筆記

過去已有很多在SQL 2005/SQL 2008建立Oracle Linked Server的經驗,本屬稀鬆平常小事,今天第一次在SQL 2008 R2 x64執行,發現有些眉角,特筆記之。

  1. 需安裝64位元版Oracle Provider for OLE DB
    明明機器每天在跑.NET程式連Oracle,卻發現Linked Server的Provider中沒有Oracle Provider for OLE DB可選! 這才想到,原本只裝了32位元版ODAC 11.2,.NET程式也都切成x86執行。
    SQL Server 2008 R2是x64版本,必須搭配64位元版本ODAC,就只能乖乖下載安裝。
  2. 裝完Oracle OLE DB後要重開機
    裝好64位元的ODAC後,新增Linked Server的操作視窗立刻有Oracle Provider for OLE DB可選,但要建立卻會彈出:
    Cannot create an instance of OLE DB provider “OraOLEDB.Oracle” for linked server "…" (Microsoft SQL Server, Error: 7302)。
     
    一般來說,Error 7302是Oracle相關元件(MSDAORA.dll)沒有正確安裝或註冊所致。莫非又是人品問題? 跟前幾天VS2012安裝Oracle Entity Framework Provider失敗如出一轍,又得開始射茶包? 老人家的經驗在此時派上用場,依稀記得Oracle Client安裝後有些設定要重開機才會生效,二話不說,Reboot! 重開機後,Oracle Linked Server就能順利建立囉~  (用力筆記: Oracle Client裝完記得要重開機)
  3. 設定Allow Inprocess旗標
    試著查詢Oracle Linked Server時,又彈出新的錯誤訊息:
    The OLE DB provider "OraOLEDB.Oracle" for linked server "XE" reported an error. The provider did not give any information about the error.

    透過錯誤訊息很快在微軟KB找到說明:
    如果您使用協力廠商的 Oracle 提供者,且 Oracle 提供者無法在 SQL Server 處理程序外執行,請變更提供者選項,以執行同處理序


    在以下OraOLEDB.Oracle項目按右鍵選Properties
     
    再設定Allow inprocess為Enable

終於,可以在SQL 2008 R2 x64成功使用Oracle Linked Server了!

歡迎推文分享:
Published 26 October 2012 11:23 PM 由 Jeffrey
Filed under: ,



意見

沒有意見

你的看法呢?

(必要的) 
(必要的) 
(選擇性的)
(必要的) 
(提醒: 因快取機制,您的留言幾分鐘後才會顯示在網站,請耐心稍候)

5 + 3 =

搜尋

Go

<October 2012>
SunMonTueWedThuFriSat
30123456
78910111213
14151617181920
21222324252627
28293031123
45678910
 
RSS
【工商服務】
OrcsWeb: Windows Server Hosting
twMVC

Tags 分類檢視
關於作者

一個醉心技術又酷愛分享的Coding魔人,十年的IT職場生涯,寫過系統、管過專案, 也帶過團隊,最後還是無怨無悔地選擇了技術鑽研這條路,近年來則以做一個"有為的中年人"自許。

文章典藏
其他功能

這個部落格


Syndication