Hello! Thanks once again for your reply. I apologize if I wasn't more clear. I installed the DBD::Oracle package via cpan. I was having a tough time getting a manual download of DBD Oracle from the cpan site to work. So once I discovered the correct proxy settings for my network I decided to give the automated cpan a shot.
Normally, were this linux I would simply use locate, but as this is a solaris 10 machine best I could do was a 'find' for Oracle.pm. This is what I was able to turn up.
/data/u01/app/oracle/product/10.2.0.4/perl/lib/site_perl/5.8.3/sun4-so
+laris-thread-multi/DBD/Oracle.pm
/data/u01/app/oracle/product/10.2.0.4/ccr/engines/SunOS/perl/lib/site_
+perl/5.8.3/sun4-solaris-thread-multi/DBD/Oracle.pm
/data/u01/app/crs/product/10.2.0.4/perl/lib/site_perl/5.8.3/sun4-solar
+is-thread-multi-64/DBD/Oracle.pm
/data/u01/app/crs/product/10.2.0.4/ccr/engines/SunOS/perl/lib/site_per
+l/5.8.3/sun4-solaris-thread-multi/DBD/Oracle.pm
/usr/perl5/site_perl/5.8.4/sun4-solaris-64int/DBD/Oracle.pm
/usr/local/lib/perl5/site_perl/5.8.5/sun4-solaris/DBD/Oracle.pm
/global/report/u01/app/orarep/product/10.2.0/perl/lib/site_perl/5.8.3/
+sun4-solaris-thread-multi/DBD/Oracle.pm
/global/dwh/u01/app/oradw/product/10.2.0.4/perl/lib/site_perl/5.8.3/su
+n4-solaris-thread-multi/DBD/Oracle.pm
/global/dwh/u01/app/oradw/product/10.2.0.4/ccr/engines/SunOS/perl/lib/
+site_perl/5.8.3/sun4-solaris-thread-multi/DBD/Oracle.pm
/global/wheel/u01/app/orawhs/product/10.2.0/perl/lib/site_perl/5.8.3/s
+un4-solaris-thread-multi/DBD/Oracle.pm
/global/wheel/u01/app/oratest/product/11.2.0.2/perl/lib/site_perl/5.10
+.0/sun4-solaris-thread-multi-64/DBD/Oracle.pm
/global/wheel/u01/app/oratest/product/11.2.0.2/ccr/engines/SunOS/perl/
+lib/site_perl/5.8.3/sun4-solaris-thread-multi/DBD/Oracle.pm
/oracle9/11.2.0.2_Disk/deinstall/perl/lib/site_perl/5.10.0/sun4-solari
+s-thread-multi-64/DBD/Oracle.pm
My @INC array, according to perl -V is this
@INC:
/usr/perl5/5.8.4/lib/sun4-solaris-64int
/usr/perl5/5.8.4/lib
/usr/perl5/site_perl/5.8.4/sun4-solaris-64int
/usr/perl5/site_perl/5.8.4
The reason you see Oracle.pm in this location (/usr/perl5/site_perl/5.8.4/sun4-solaris-64int/DBD) is that in my experiments to get this to work I tried moving the Oracle.pm driver to the same place I found a bunch of other DBD drivers. Here's a listing of that directory:
[db07-dc2:~] root% ls -l /usr/perl5/site_perl/5.8.4/sun4-solaris-64int
+/DBD
total 812
-r--r--r-- 1 root root 52180 Dec 21 2010 DBM.pm
-r--r--r-- 1 root root 12168 Aug 16 2010 ExampleP.pm
drwxr-xr-x 2 root root 512 Dec 12 15:50 File
-r--r--r-- 1 root root 44277 Dec 21 2010 File.pm
drwxr-xr-x 4 root root 512 Dec 12 15:50 Gofer
-r--r--r-- 1 root root 48753 Jul 26 2010 Gofer.pm
-r--r--r-- 1 root root 4065 Dec 21 2010 NullP.pm
-rw-r--r-- 1 root root 198462 May 31 17:40 Oracle.pm
-r--r--r-- 1 root root 29044 Jun 8 2010 Proxy.pm
-r--r--r-- 1 root root 7983 Sep 26 2007 Sponge.pm
which is one of the locations in my @INC array. However that didn't seem to help my cause.
[db07-dc2:~] root% ./dbitest.pl
install_driver(Oracle) failed: Can't locate DBD/Oracle/Object.pm in @I
+NC (@INC contains: /usr/perl5/5.8.4/lib/sun4-solaris-64int /usr/perl5
+/5.8.4/lib /usr/perl5/site_perl/5.8.4/sun4-solaris-64int /usr/perl5/s
+ite_perl/5.8.4 /usr/perl5/site_perl /usr/perl5/vendor_perl/5.8.4/sun4
+-solaris-64int /usr/perl5/vendor_perl/5.8.4 /usr/perl5/vendor_perl .)
+ at /usr/perl5/site_perl/5.8.4/sun4-solaris-64int/DBD/Oracle.pm line
+25.
BEGIN failed--compilation aborted at /usr/perl5/site_perl/5.8.4/sun4-s
+olaris-64int/DBD/Oracle.pm line 25.
Compilation failed in require at (eval 3) line 3.
Perhaps a module that DBD::Oracle requires hasn't been fully installed
at ./dbitest.pl line 19
It fails at line 19 which is this line:
my $dbh = DBI->connect( 'dbi:Oracle:qaecom1',
which resides in this block of code:
my $dbh = DBI->connect( 'dbi:Oracle:qaecom1',
'$USER',
'$PASS',
) || die "Database connection not made: $DBI::er
+rstr";
<code>
For easy reference this is the rest of the script
<code>
#!/usr/bin/perl
use warnings;
use strict;
use DBI;
my $ORACLE_HOME = "/u01/app/oracle/product/10.2.0.4";
my $ORACLE_SID="qaecom1";
my $USER="mlbwatch";
my $PASS="n3x1ch3q";
$ENV{ORACLE_HOME}=$ORACLE_HOME;
$ENV{ORACLE_SID}=$ORACLE_SID;
$ENV{PATH}="$ORACLE_HOME/bin";
$ENV{LD_LIBRARY_PATH}="$ORACLE_HOME/lib";
use strict;
use DBI;
my $dbh = DBI->connect( 'dbi:Oracle:qaecom1',
'$USER',
'$PASS',
) || die "Database connection not made: $DBI::er
+rstr";
$dbh->disconnect;
I was just wondering if there might be any other tricks that I've missed that might get this working. I certainly appreciate any input you may have.
Thanks
|