2013-03-19 9 views
1

저는 Mac OS X 10.8에서 perl 모듈 DBD :: Oracle을 사용하고 싶습니다. CPAN을 통해 DBI를 설치했습니다. Oracle 인스턴트 클라이언트 11.2 (basic, sqlplus 및 jdk)를 다운로드했습니다. /usr/local/oracle에 압축을 풉니 다.instantclient와 함께 DBD :: Oracle을 사용하는 중 오류가 발생했습니다. 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/지방/오라클/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')는 실제로 문제가있는 것처럼 보입니다. 오라클 클라이언트 라이브러리를 구축 한 오라클 사용자가 사용한 경로와 같으며 여전히 오라클 라이브러리에 인코딩되어있는 것처럼 보입니다. – rra

+0

내 oracle 클라이언트 디렉토리를 내 전역 PATH 변수에 추가하여 해결되었습니다. 가장 좋은 해결책은 아니지만 나에게 충분하다. – janseeuw

답변

0

확인이 하나의 아웃 : 정보 위 perl DBD::Oracle Module installtion

리눅스 환경에 관한 것입니다. 그러나 MAC OSX에서 DBD::Oracle을 설정하는 방법에 대한 단서를 얻을 수 있습니다.

Linux의 경우 "Basic, SQLPLUS and Devel" 오라클 인스턴트 클라이언트의 바이너리가 필요합니다. 여기 내 리눅스 박스에 디렉토리 목록입니다 :

# 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 

는 여기에 내가 설치 오라클 인스턴트 클라이언트의 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

관련 문제