It works now.

I reinstalled DBD::oracle as root.

I had to set the variables( as root):

ORACLE_USERID
ORACLE_HOME
LD_LIBRARY_PATH

then

perl Makefile.pl
make test
make install


Then my connect.pl worked.

thanks.



On Fri, Feb 6, 2009 at 3:12 AM, Martin Evans <[email protected]> wrote:
> David Ehresmann wrote:
>>
>> I used the lastest version as stated below.
>>
>> I gunziped and untarred them in /tmp.
>>
>> I installed DBI as root.  It looked fine.
>>
>> I installed DB as oracle .  It looked fine.
>
> Do you mean you did this whilst being the "oracle" user? Why did you install
> DBD::Oracle as "oracle"? Does you oracle user have access to the directories
> listed below?
>
>> While I run the connect.pl script I get the below error:
>>
>> #!/usr/bin/perl
>>
>> use warnings;
>> use strict;
>> use DBI;
>>
>> my $dbh = DBI->connect('dbi:Oracle:orcl11g', 'HR','oracle');
>>
>> die "connect failed: " . DBI->errstr() unless $dbh;
>>
>> print "connect successful!\n";
>>
>> $dbh->disconnect();
>>
>>
>> error:
>>
>> $perl connect.pl
>> install_driver(Oracle) failed: Can't locate DBD/Oracle.pm in @INC
>> (@INC contains:
>> /usr/lib/perl5/5.8.5/i386-linux-thread-multi /usr/lib/perl5/5.8.5
>> /usr/lib/perl5/site_perl/5.8.5/i386-linux-thread-multi
>> /usr/lib/perl5/site_perl/5.8.4/i386-linux-thread-multi
>> /usr/lib/perl5/site_perl/5.8.3/i386-linux-thread-multi
>> /usr/lib/perl5/site_perl/5.8.2/i386-linux-thread-multi
>> /usr/lib/perl5/site_perl/5.8.1/i386-linux-thread-multi
>> /usr/lib/perl5/site_perl/5.8.0/i386-linux-thread-multi
>> /usr/lib/perl5/site_perl/5.8.5 /usr/lib/perl5/site_perl/5.8.4
>> /usr/lib/perl5/site_perl/5.8.3 /usr/lib/perl5/site_perl/5.8.2
>> /usr/lib/perl5/site_perl/5.8.1 /usr/lib/perl5/site_perl/5.8.0 /
>> usr/lib/perl5/site_perl
>> /usr/lib/perl5/vendor_perl/5.8.5/i386-linux-thread-multi
>> /usr/lib/perl5/vendor_perl/5.8.4/i386-linux-thread-multi
>> /usr/lib/perl5/vendor_perl/5.8.3/i386-linux-thread-multi
>> /usr/lib/perl5/vendor_perl/5.8.2/i386-linux-thread-multi
>> /usr/lib/perl5/vendor_perl/5.8.1/i386-linux-thread-multi
>> /usr/lib/perl5/vendor_perl/5.8.0/i386-linux-thread-multi
>> /usr/lib/perl5/vendor_perl/5.8.5 /usr/lib/perl5/vendor_perl/5.8.4
>> /usr/lib/perl5/vendor_perl/5.8.3
>> /usr/lib/perl5/vendor_perl/5.8.2 /usr/lib/perl5/vendor_perl/5.8.1
>> /usr/lib/perl5/vendor_perl/5.8.0
>> /usr/lib/perl5/vendor_perl .) at (eval 3) line 3.
>
> The above list is all the places perl is looking for the DBD::Oracle module
> - it did not find it. It was looking for a directory called DBD which
> contained a file called Oracle.pm. Where did you install DBD::Oracle? If you
> installed it in a non-standard place you need to add a "-I
> non_standard_place" to the command line when you run your script.
>
>> Perhaps the DBD::Oracle perl module hasn't been fully installed,
>> or perhaps the capitalisation of 'Oracle' isn't right.
>> Available drivers: DBM, ExampleP, File, Gofer, Proxy, Sponge.
>>  at connect.pl line 7
>
> These are the drivers found.
>
>>
>> thanks.
>
> Go back to how you installed DBD::Oracle and make sure the make install
> actually worked. If you specified a non-standard place for the install you
> need to specify it on the command line when running DBD::Oracle dependent
> perl scripts.
>
> Martin
> --
> Martin J. Evans
> Easysoft Limited
> http://www.easysoft.com
>

Reply via email to