win7 64位系統 PB連接oracle數據庫出現“oracle library oci.dll could not be loaded”問題的解決方法


       今天與大家分享一個自己的學習筆記,希望能給遇到同樣問題的人帶來幫助。

       不知道大家在win7 64位系統下用 PB連接oracle數據庫時,是否遇到過“oracle library oci.dll could not be loaded”問題。

       今天,在win7 64位系統下用 PB連接oracle數據庫時,一直出現上述錯誤,在百度上找了很久,都沒有找到一個完整的解決方案,咨詢了很多人,(他們都說是我的PB和oracle沒裝好,但我裝的時候沒出現任何問題,一切都很順利,而且PB和oracle都能正常使用,就是用PB連接oracle時怎么也連不上,一直找不到解決方案,於是聽取了他們的意見,抱着一線希望,把PB和oracle都卸了重裝,可是,還是同樣的錯誤啊!!!要崩潰了)問題依然沒有得到解決。

但是,功夫不負有心人,在經過自己無數次的嘗試與失敗之后,終於解決了這個問題,所以留下這篇隨筆與大家分享,也給自己留下個紀念。

首先,說一下我的電腦系統與安裝的軟件:

(1)win7 64位 專業版

(2)PowerBuilder11.5

(3)Oracle Database 11g Release 2 (11.2.0.1.0) for Microsoft Windows (x64)

http://www.oracle.com/technetwork/database/enterprise-edition/downloads/112010-win64soft-094461.html(oracle下載地址)

具體的軟件下載過程與安裝過程我這里就不在講解,百度上都有

現在講解我PB連接Oracle數據庫的過程及出現的問題和解決方法

一、安裝好PB和oracle之后,就可以在PB里連接oracle數據庫了

具體連接步驟為:打開DB Profile—>選中O 10 Oracle 10g—>New(也可以直接點擊右鍵選擇New Profile...)—>填寫好Connection中的Profile name,Server,Login ID,Password和System中的PowerBuilder Catalog Table Owner(注:該項與Connection中Login ID一樣,如果不一樣會出現如下錯誤:)

填好之后可以選擇Preview中的Test Connection測試連接,但是我在測試的時候,就出現了如下錯誤:

原因:我安裝的Oracle是64位的,里面的oci.dll也是64位的,PB需要要使用32位的oci.dll,所以連接時就無法加載oci.dll,

因此就需要下載一個32位的 instant client來支持PB調用。由此得到以下解決方案:

解決方案其實很簡單,就四步

第一步:下載一個Instant Client for Microsoft Windows (32-bit) (注:這個是關鍵,一定要下32位的,千萬別下成了下64位的

(下載地址:http://www.oracle.com/technetwork/database/features/instant-client/index-097480.html)

如果下成了64位的還是會出現同樣的問題,問題並不能得到解決(原因上面已經說清楚了)

第二步:將下載的壓縮包解壓得到instantclient_11_2文件夾,然后將文件夾復制到Oracle安裝目錄下的Product文件夾下,

以我的為例:放在D:\Oracle\app\zy\product里,即:D:\Oracle\app\zy\product\instantclient_11_2;

第三步:在Oracle安裝目錄下找到NETWORK文件夾,然后將整個NETWORK文件夾復制到D:\Oracle\app\zy\product\instantclient_11_2文件夾里,

(以我的為例:我的NETWORK文件夾在如下目錄里D:\Oracle\app\zy\product\11.2.0\dbhome_1)

如果沒有復制NETWORK文件到instantclient_11_2文件夾里或者復制得不全,都會出現如下錯誤:

第四步:配置環境變量(昨天忘了寫第四步,這一步很重要,如果環境變量不配置,還是會出現同樣的問題)

步驟:右鍵我的電腦—>屬性—>高級系統設置—>高級—>環境變量—>系統變量

找到Path,將instantclient_11_2中的oci.dll的路徑添加的Path路徑中。

以我的為例:即將D:\Oracle\app\zy\product\instantclient_11_2;添加到Path中。

完成以上四步之后,問題就解決了。重新打開PB,根據上面的連接步驟連接,就能連接成功了。

如下圖:

 

如圖就連接成功了,在Database中就能看到連接好的數據庫了。

 

另外:在連接的過程中可能會遇到如下問題:

出現這個問題說明你監聽器沒開,解決辦法很簡單,到服務里開啟就行

具體步驟:點擊開始菜單—>在搜索框中輸入“服務”—>點擊打開—>找到以下兩項,將其開啟即可:

 

   

今天就和大家分享這些內容,如有不正確的地方,歡迎大家批評指正,關於以上問題,大家如有更好解決方案,歡迎大家前來交流!

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM