標籤:測試的 調用 soft sys review features win7 1.0 ase
不知道大家在win7 64位系統下用 PB串連oracle資料庫時,是否遇到過“oracle library oci.dll could not be loaded”問題。
諮詢了很多人,(他們都說是我的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)
第二步:將下載的壓縮包解壓得到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檔案夾裡夾或者複製得不全,都會出現如下錯誤:
完成以上三步之後,問題就解決了。重新開啟PB,根據上面的串連步驟串連,就能串連成功了。
如:
就串連成功了,在Database中就能看到串連好的資料庫了。
另外:在串連的過程中可能會遇到如下問題:
出現這個問題說明你監聽器沒開,解決辦法很簡單,到服務裡開啟就行
具體步驟:點擊開始菜單—>在搜尋方塊中輸入“服務”—>點擊開啟—>找到以下兩項,將其開啟即可:
“oracle library oci.dll could not be loaded