vassago has asked for the wisdom of the Perl Monks concerning the following question:

I'm using DBI to query an Oracle database, but I'm getting an error:

install_driver(Oracle) failed: Can't load 'C:/Perl/lib/auto/DBD/Oracle/Oracle.dll' for module DBD::Oracle: load_file:The specified module could not be found at C:/Perl/lib/DynaLoader.pm line 201.
at (eval 5) line 3
Compilation failed in require at (eval 5) line 3.
Perhaps a required shared library or dll isn't installed where expected
at C:/Documents and Settings/rthatche/My Documents/workspace/Junk/averagespeed.pl line 38

the Oracle.dll is where the file path is looking for it (C:/Perl/lib/auto/DBD/Oracle/Oracle.dll). I know the code works (it worked on different machines). I've uninstalled and reinstalled active perl 5.10 with the same result (and DBI and DBD-Oracle are installed). I know this isn't a 100% perl problem, but I'm hoping someone here can help me because I've had this problem for some time now, tried everything I can think of, and really need to get this working. Also, I'm using WinXP Pro SP3.

Thank you.

Replies are listed 'Best First'.
Re: perl/oracle problem
by alexlc (Beadle) on Sep 09, 2009 at 01:09 UTC

    I'm not much of a Windows guy, but it looks to me that perhaps the problem is that Oracle.dll needs to be able to find additional libraries, most likely the Oracle client libraries. Someone better at windows could probably tell you how to figure out whether Oracle.dll has all its dependancies met. A quick google search found me Dependancy Walker, but I've certainly never used it, and there may be a better way.

    Did you install DBD-Oracle from source, or CPAN? Is it something packaged with your perl distribution? Do you have the Oracle client libraries installed and working?

    -- AlexLC