2013-03-19 65 views
1

我想在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

+0

我對Mac OS X的動態加載程序不太瞭解,無法回答您的問題,但該路徑('/ ade/b/2649109290/oracle/rdbms/lib/libclntsh.dylib.11.1')看起來確實存在問題。這看起來就像Oracle構建Oracle客戶端庫的人使用的路徑,似乎仍然在Oracle庫中編碼。 – rra 2013-03-20 07:26:00

+0

通過將我的oracle客戶端目錄添加到我的全局PATH變量來解決。不是最好的解決方案,但它對我來說足夠了:) – janseeuw 2013-03-20 08:05:39

回答

0

檢查這一個:perl DBD::Oracle Module installtion

以上信息是關於Linux環境。但是你可能會得到一些關於如何在MAC OSX上配置DBD::Oracle的線索。

在Linux上,您需要「基本,SQLPLUS和Devel」 Oracle即時客戶端的二進制文件。這裏是目錄在我的Linux機器上市:

# pwd 
/usr/lib/oracle/11.2/client64/lib 
# ls -l 
total 185232 
-rw-r--r-- 1 root root  368 Sep 17 2011 glogin.sql 
lrwxrwxrwx 1 root root  17 Jul 9 2012 libclntsh.so -> libclntsh.so.11.1 
-rw-r--r-- 1 root root 52761218 Sep 17 2011 libclntsh.so.11.1 
-rw-r--r-- 1 root root 7955322 Sep 17 2011 libnnz11.so 
lrwxrwxrwx 1 root root  15 Jul 9 2012 libocci.so -> libocci.so.11.1 
-rw-r--r-- 1 root root 1971762 Sep 17 2011 libocci.so.11.1 
-rw-r--r-- 1 root root 118408281 Sep 17 2011 libociei.so 
-rw-r--r-- 1 root root 164836 Sep 17 2011 libocijdbc11.so 
-rw-r--r-- 1 root root 1503303 Sep 17 2011 libsqlplusic.so 
-rw-r--r-- 1 root root 1477446 Sep 17 2011 libsqlplus.so 
-rw-r--r-- 1 root root 2095661 Sep 17 2011 ojdbc5.jar 
-rw-r--r-- 1 root root 2714016 Sep 17 2011 ojdbc6.jar 
-rw-r--r-- 1 root root 300666 Sep 17 2011 ottclasses.zip 
-rw-r--r-- 1 root root  66779 Sep 17 2011 xstreams.jar 

這裏是我安裝Oracle即時客戶端的RPM的列表:

# rpm -qa | grep -i oracle 
oracle-instantclient11.2-basic-11.2.0.3.0-1 
oracle-instantclient11.2-devel-11.2.0.3.0-1 
oracle-instantclient11.2-sqlplus-11.2.0.3.0-1 

希望這有助於。

+0

感謝您的幫助。 – janseeuw 2013-03-20 08:03:09