develooper Front page | perl.dbi.users | Postings from August 2006

Problem on Perl DBI for Oracle-DBD-1.18

Thread Next
From:
Keith.Lam
Date:
August 23, 2006 08:17
Subject:
Problem on Perl DBI for Oracle-DBD-1.18
Message ID:
A7A1C944DF465E49A8E03C14E519BF5102227E99@cacptoqpmxis001.cac.ad.gov.on.ca
Hi DBI experts,

Could you please help me to resolve this Perl Oracle DBD problem.

I am using Oracle Client 10g, Perl 5.8.5 (default from RedHat ES4 installation) and Oracle-DBD-1.18.

The SQLPLUS and Perl cgi program runs and displays output as expected without any errors from the command line

I have the following error when running perl CGI script using Oracle DBD from the web browser: 

"install_driver(Oracle) failed: Can't load '/usr/lib/perl5/site_perl/5.8.5/i386-linux-thread-multi/auto/DBD/Oracle/Oracle.so' for module DBD::Oracle: libclntsh.so.10.1: cannot open shared object file: No such file or directory at /usr/lib/perl5/5.8.5/i386-linux-thread-multi/DynaLoader.pm line 230. at (eval 1) line 3
Compilation failed in require at (eval 1) line 3.
Perhaps a required shared library or dll isn't installed where expected"

I searched on google and tried the suggestions from forums but still get the problem unsolved. These are what I tried: 
	
1. I've added /home/oracle/oracle/product/10.2.0/oraclient/lib to /etc/ld.so.conf and run "ldconfig" as shown below

 [root@NetWatch ~]$echo $ORACLE_HOME/lib >> /etc/ld.so.conf   => OK
 [root@NetWatch ~]$/sbin/ldconfig: /home/oracle/oracle/product/10.2.0/oraclient/lib/libexpat.so.0 is not a symbolic link
 [root@NetWatch ~]$ldd /usr/lib/perl5/site_perl/5.8.5/i386-linux-thread-multi/auto/DBD/Oracle/Oracle.so
        libclntsh.so.10.1 => /home/oracle/oracle/product/10.2.0/oraclient/lib/libclntsh.so.10.1 (0x00559000)
        libdl.so.2 => /lib/libdl.so.2 (0x00111000)
        libm.so.6 => /lib/tls/libm.so.6 (0x00115000)
        libpthread.so.0 => /lib/tls/libpthread.so.0 (0x00138000)
        libnsl.so.1 => /lib/libnsl.so.1 (0x0014a000)
        libc.so.6 => /lib/tls/libc.so.6 (0x00218000)
        libnnz10.so => /home/oracle/oracle/product/10.2.0/oraclient/lib/libnnz10.so (0x083c4000)
        /lib/ld-linux.so.2 (0x00542000)

2. I put the following environment variables in the configuration file httpd.conf:
	SetEnv LD_LIBRARY_PATH /home/oracle/oracle/product/10.2.0/oraclient/lib
	SetEnv ORACLE_HOME /home/oracle/oracle/product/10.2.0/oraclient

3. I've given authority/access to every folder/object listed in the above paths to the user I am using. 

4. Making sure all files were accesable and also need to make some links from the $ORACLE_HOME/lib dir to the */lib dir that perl can access.

5. All authority/access and symbolic links for libclntsh.so.10.1, libclntsh.so, libocci.so.10.1 and libocci.so are set up properly in /home/oracle/oracle/product/10.2.0/oraclient/lib

	lrwxrwxrwx  1 oracle oracle       66 Aug 17 08:25 libclntsh.so -> /home/oracle/oracle/product/10.2.0/oraclient/lib/libclntsh.so.10.1
	-rwxrwxrwx  1 oracle oracle       0 Aug 23 10:34 libclntsh.so.10.1
	lrwxrwxrwx  1 oracle oracle       15 Aug 17 08:25 libocci.so -> libocci.so.10.1
	-rwxrwxrwx  1 oracle oracle       0 Aug 23 10:38 libocci.so.10.1

Could you please suggest me what else I should try to resolve this problem? I searched on google extensively but found no other sources of solutions beside those listed above. 

Thanks,

Keith Lam
Corporate Security (IPC)
Tel: 416-327-1941


Thread Next


nntp.perl.org: Perl Programming lists via nntp and http.
Comments to Ask Bjørn Hansen at ask@perl.org | Group listing | About