今天與大家分享一個自己的學習筆記,希望能給遇到同樣問題的人帶來幫助。
不知道大家在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中就能看到連接好的數據庫了。
另外:在連接的過程中可能會遇到如下問題:

出現這個問題說明你監聽器沒開,解決辦法很簡單,到服務里開啟就行
具體步驟:點擊開始菜單—>在搜索框中輸入“服務”—>點擊打開—>找到以下兩項,將其開啟即可:

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