我想在Mac OS X 10.8上使用perl模塊DBD :: Oracle。 我通過CPAN安裝了DBI。 下載了Oracle即時客戶端11.2(基本的,sqlplus和jdk)。 將其解壓縮到/ usr/local/oracle。錯誤使用DBD :: Oracle與instantclient 11.2
$ ls /usr/local/oracle/instantclient_11_2/
BASIC_README libnnz11.dylib ojdbc6.jar
SQLPLUS_README libocci.dylib.11.1 sdk
adrci libociei.dylib sqlplus
genezi libocijdbc11.dylib uidrvci
glogin.sql libsqlplus.dylib xstreams.jar
libclntsh.dylib libsqlplusic.dylib
libclntsh.dylib.11.1 ojdbc5.jar
然後安裝了DBD :: Oracle。 現在,當我想使用DBD :: Oracle時,它會提供一個錯誤。
install_driver(Oracle) failed: Can't load '/Library/Perl/5.12/darwin-thread-multi-
2level/auto/DBD/Oracle/Oracle.bundle' for module DBD::Oracle:
dlopen(/Library/Perl/5.12/darwin-thread-multi-2level/auto/DBD/Oracle/Oracle.bundle, 1):
Library not loaded: /ade/b/2649109290/oracle/rdbms/lib/libclntsh.dylib.11.1
Referenced from: /Library/Perl/5.12/darwin-thread-multi-
2level/auto/DBD/Oracle/Oracle.bundle
Reason: image not found at /System/Library/Perl/5.12/darwin-thread-multi-
2level/DynaLoader.pm line 204.
我DYLD_LIBRARY_PATH =的/ usr /本地/ ORACLE/instaclient_11_2 我沒有什麼線索,我做錯了。
求助: 我試着運行sqlplus的時候遇到了同樣的錯誤。我將我的oracle客戶端目錄添加到了我的全局PATH變量中,現在它正在工作。
鋸,他們也做了同樣在本教程:http://www.janhellevik.no/?p=521
我對Mac OS X的動態加載程序不太瞭解,無法回答您的問題,但該路徑('/ ade/b/2649109290/oracle/rdbms/lib/libclntsh.dylib.11.1')看起來確實存在問題。這看起來就像Oracle構建Oracle客戶端庫的人使用的路徑,似乎仍然在Oracle庫中編碼。 – rra 2013-03-20 07:26:00
通過將我的oracle客戶端目錄添加到我的全局PATH變量來解決。不是最好的解決方案,但它對我來說足夠了:) – janseeuw 2013-03-20 08:05:39