2014-09-18 8 views
6

Dostaję poniżej błąd podczas próby łączenia się z bazą danychBłąd pobierania instalatora (Oracle): Nie można załadować '/usr/lib64/perl5/site_perl/5.8.8/x86_64-linux-thread-multi/auto/DBD/Oracle/Oracle.so'

install_driver(Oracle) failed: Can't load '/usr/lib64/perl5/site_perl/5.8.8/x86_64-linux-thread- 
multi/auto/DBD/Oracle/Oracle.so' for module DBD::Oracle: libclntsh.so.11.1: cannot open shared object file: 

No such file or directory at /usr/lib64/perl5/5.8.8/x86_64-linux-thread- 
multi/DynaLoader.pm line 230. 
at (eval 3) line 3 

Compilation failed in require at (eval 3) line 3. 

może wymagana wspólna biblioteka dll lub nie jest zainstalowany, gdzie oczekiwany

+1

5.8.8 jest starożytny, aktualizacji. Czy masz zainstalowanego klienta Oracle? Czytałeś readme dla swojej platformy? –

+0

tak zainstalowany klient oracle – kavuru

+0

proszę pokazać, w jaki sposób zainstalowałeś DBD :: Oracle –

Odpowiedz

1

1) dowiedzieć się, gdzie jest Oracle.so (można użyć zlokalizować commande)

-> zlokalizuj Oracle.so

-> xxxxxx/Perl/lib/site_perl/5.10.0/x86_64-Linux nici na wiele/auto/DBD/oracle

2) modyfikować Scrip Perl

zastosowanie lib „xxxxxxx/Perl/lib/site_perl/5.10.0/x86_64-linux-thread-multi/auto/DBD/Oracle/";

tak Kompilacja wie, gdzie jest Oracle.so

2

proszę odbudować moduł DBD :: Oracle Perl, upewniając się, że masz wszystkie środowiska ORACLE set-up na komputerze, w tym ORACLE_HOME i LD_LIBRARY_PATH. folderu $ ORACLE_HOME zawiera te trzy ważne foldery:

ls -la $ORACLE_HOME 
bin 
lib 
network 
... 

i jest zdefiniowany jako (proszę wybrać/dostosować w zależności od potrzeb):

ORACLE_HOME=/usr/lib/oracle/11.2/client64 (RHEL5, oracle-instantclient11.2-basic-11.2 rpm packages) 
ORACLE_HOME=/usr/lib64/oracle/10.2.0.4/client64 (RHEL5, oracle-instantclient-basic-10.2.0.4 rpm packages) 
ORACLE_HOME=/home/oracle/app/oracle/product/11.2.0/dbhome_1 (Oracle 11g server installation) 

I prawie zawsze:

LD_LIBRARY_PATH=$ORACLE_HOME/lib 

(jest to folder, w którym znajduje się plik "libclntsh.so.11.1" i ta ścieżka LD_LIBRARY_PATH pomoże modułowi PERL DB :: Oracle go znaleźć!)

Poniżej znajduje się przykład dla środowiska użytkownik set-up na serwerze z serwerem Oracle 11g:

cat /etc/profile.d/oracle-profile.sh 
ORACLE_OWNER=oracle 
ORACLE_HOME=/home/oracle/app/oracle/product/11.2.0/dbhome_1 
ORACLE_BASE=/home/oracle/app/oracle 
PATH=$PATH:$ORACLE_HOME/bin 
LD_LIBRARY_PATH=$ORACLE_HOME/lib 
export ORACLE_OWNER ORACLE_HOME ORACLE_BASE PATH LD_LIBRARY_PATH 

Mam nadzieję, że to pomaga.

Powiązane problemy