圖文詳解-報表設計器連接oracle出現的問題及解決方法

環境

oracle服務器11g×64,本機Windows7×64,安裝有64的oracle客戶端,同時還有免安裝的Oracle Instant Client×32(要用pl/sql又不想裝32的oracle客戶端,這個就必須要有)。

問題

使用報表設計器自帶的數據源配置oracle連接時,不知何故總是提示如圖錯誤:


按照網上的方法註冊模塊,結果不行。報表設計器幫助手冊上以SQLserver和MySQL作爲示例來講解,也沒有給出常見問題解決辦法,只能自己搗騰一下了,其中遇到一些難題,磕磕碰碰,不斷試驗不斷百度,最後成功摸索出兩種方法連接。

A. microsoft ole db provider for oracle

採用這個方法連接的時候,遇到錯誤“未找到oracle客戶端和網絡組件。這些組件是由Oracle公司提供的,是Oracle7.3.3版(或更高)客戶軟件安裝的一部分。”如下圖:


網上一搜,解決這個問題的辦法就出來了取其一種:①找到oracle的安裝路徑,設置everyone的完全控制權限;②在環境變量path中添加E:\Oracle Instant Client 32-bit Version 12.1.0.1.0(因爲我的報表設計器和pl/SQL都不能用oracle64位客戶端故特別下載OracleInstant Client×32,根據實際情況,你可能添加32位Oracle_home的路徑)

重啓電腦連接成功:


B. microsoft ole db provider for odbc drivers

64位的數據源配置文件C:\WINDOWS\SYSTEM32\ODBCAD32.EXE

32位的數據源配置文件C:\WINDOWS\SYSWOW64\ODBCAD32.EXE

注意:

Ⅰ文件夾名後綴雖然分別是32和64,實際上提供的驅動卻是相反的,WoW64會通過虛擬化機制重定向32位應用程序運行所需的DLL。

Ⅱ控制面板—管理工具提供的是64位的數據源快捷方式,但操作系統默認提供是32位的驅動接口供外部程序調用。這也是通常我們通過控制面板添加了數據源之後應用程序仍舊提示如下錯誤的原因:



一個比較好的辦法是在控制面板--管理工具當中添加32位的快捷方式並區分二者:


再根據應用程序的支持情況選擇究竟用32的還是64的。

二者比較,32位的提供中文界面驅動很多,64位的要高大上一些並提供連接測試:






總結,我們要多動腦筋多思考。生產生活中咱們遇到的問題可能別人也遇到過,百度一下,現成的解決問題的方法能爲我們節省不少時間當然好,同時自己也要勤于思考,這樣,哪天遇到了別人都沒有遇到的問題,也能想出解決的辦法。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章