2014年1月6日 星期一

用Reporting Services 2008 R2連接Oracle

        最近打算用Reporting Services 2008 R2連接Oracle 11gR2,光測試到底要安裝哪個ODAC就快瘋掉,有夠複雜,因為我是先在VM上測試,OS是裝windows server 2008 r2 x64,打算開發與RS都在同一台上,但發現這樣行不通,似乎得拆開,因為開發用Visual Studio 2008是x32的,而RS是x64的,這會影響ODAC的版本,若全都裝在同一台,容易出錯的

        先講開發的部分,去Oracle Data Access Components (ODAC) for Windows下載ODAC 11.2 Release 4 (11.2.0.3.0) with Oracle Developer Tools for Visual Studio,這一定是裝x32的喔,各位就自己的Oracle版本最對應的下載即可

        解開後執行Setup即可,有些功能我用不到,我只裝下圖的項目囉

        裝完下Set指令看看,並沒有增加新的環境變數喔

        而VS可以看到有裝Oracle Developer Tools for Visual Studio 11.2.0.3.0,如果沒有就表示沒安裝成功

        這時VS的Server Explorer,去新增連線,畫面就變成下面這個囉,表示應該可以連結Oracle了,記得tnsnames.ora要設即可

        如果RS要能連結Oracle,除了安裝x32的ODAC外,還要去64-bit Oracle Data Access Components (ODAC) for Windows下載64-bit ODAC 11.2 Release 4 (11.2.0.3.0) Xcopy for Windows x64喔,因為RS是x64的

        解開後,安裝方法可參考Readme文件,我是指執行下面的命令安裝odp.20而已,請依據自己解壓x64的路徑與剛剛x32的安裝路徑做對應的修改即可,
install odp.net20 C:\app\Administrator\product\11.2.0\client_1 odac
        這個裝好後,註冊表可以看到有裝ODP.NET喔,如果沒有就表示沒裝好喔


2 則留言:

  1. 請問版主
    我也是只安裝odp.net2.0,但是在RS新增資料來源時,資料來源類型應該是要選oracle還是oledb,如果選oledb,Provider要用oracle Provider for oledb還是Microsoftoledb Provider for oracle,上面的方式我都有試過,使用oracle會出現System.Data.OracleClient 需有Oracle 用戶端軟體版本 8.1.7 或以上版本。 使用oledb會出現上述提供者並未登錄於本機電腦上。
    請問我是不是有遺漏了什麼步驟沒做到?
    謝謝

    回覆刪除
    回覆
    1. 補充一下
      在開發環境下建立DB連結都ok,沒有問題。

      刪除