I wanted to share my wisdom about a strange problem with Activestate 5.8, DBD::Oracle and par. I installed DBD::Oracle from ftp.esoftmatic.com like this:

ppm install http://ftp.esoftmatic.com/outgoing/DBI/5.8.4/DBD-Oracle.ppd

I had to access an Oracle-database through perl. I wanted to compile the perl-programm with PAR. The test-programm looks like this:

===
# test to check DBD::Oracle with perl
use DBI;
use DBD::Oracle;
print "I am alive\n";
===

When the programm runs with "perl test.pl" it runs with no problems. But when compiling it with "pp --output test.exe test.pl" and running ".\test.exe" this error occurs in a Windows-window:

"The procedure entry point Perl_Ilockhook_ptr could not be located in
the dynamic link library perl58.dll."

The problem was that the Activestate-Perl-DBI.pm does not work together with the DBD::Oracle from esoftmatic. In http://ftp.esoftmatic.com/DBI/ they tell you to take care but I found that page only later. They talk about strange errors which occur when you don't do what they say there. And this definitely happens!

The good way to install DBD::Oracle is like they tell you to do:

1. Find out exact perl-version with "perl -v", for example 5.8.4
2. ppm remove DBI
3. ppm install http://ftp.esoftmatic.com/outgoing/DBI/5.8.4/DBI.ppd
4. ppm install http://ftp.esoftmatic.com/outgoing/DBI/5.8.4/DBD-Oracle.ppd

FIRST install DBI, THEN install the real database drivers DBD::Oracle etc.

Hope this helps someone.
Greetings,

Horshack

Reply via email to