We ran into this same problem on multiple machines.  The solution that
worked for us was to completely remove the perl installation directory
after uninstalling it.  For whatever reason the uninstall process is
leaving something behind that conflicts with the new installation.
Everything worked fine if we unstalled perl 5.6, removed the perl
directory, installed perl 5.8, and reloaded the DBI and DBD modules.

Good Luck

Mark

-----Original Message-----
From: Laurie Vien [mailto:[EMAIL PROTECTED] 
Sent: Monday, March 08, 2004 3:15 PM
To: '[EMAIL PROTECTED]'; '[EMAIL PROTECTED]'
Subject: Trying to make DBI work for me 


I followed Hardy's example below by uninstalling/reinstalling the same 3
DBI components (first I upgraded from Perl 5.6 to Perl 5.8.0).  Then I
ran Hardy's little test script; but I got the following error in a popup
window: "The procedure entry point Perl_Ilockhook_ptr could not be
located in the dynamic link library perl58.dll."

When I dismissed that error popup, I got these additional messages:
"install_driver(Oracle) failed: Can't load
'C:/Perl/site/lib/auto/DBD/Oracle/Oracle.dll' for module
DBD::Oracle:load_file:The specified procedure could not be found at
C:/Perl/lib/DynaLoader.pm line 229. 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 at test_dbi.pl line 5

What should I do to resolve this?  (Also, how do I find out what version
of Perl I actually have installed?)

Thanks very much--

Laurie


-----Original Message-----
From: Hardy Merrill [mailto:[EMAIL PROTECTED]
Sent: Friday, March 05, 2004 9:12 AM
To: [EMAIL PROTECTED]; [EMAIL PROTECTED]
Subject: RE: Accessing oracle from windows 2000


Just wanted to let people know what worked for me for connecting to an
Oracle database on a Windows XP platform, using both DBD::ODBC *AND*
DBD::Oracle.  Thanks to Jeff Urlwin for all the help - see Jeff's
suggestions below for reference.  NOTE that my version of ActiveState
Perl is 5.8.2.

  1. Using 'ppm uninstall DBD::ODBC' I uninstalled DBD::ODBC.
  2. Using 'ppm uninstall DBD::Oracle' I uninstalled DBD::Oracle.
  3. Using 'ppm uninstall DBI' I uninstalled DBI.
  4. Did 'ppm install
ftp://ftp.esoftmatic.com/outgoing/DBI/5.8.2/DBI.ppd '
          to install the DBI binary for AS Perl 5.8.2 from Jeff's
repository
  5. Did 'ppm install
ftp://ftp.esoftmatic.com/outgoing/DBI/5.8.2/DBD-ODBC.ppd '
          to install the DBD::ODBC binary for AS Perl 5.8.2 from Jeff's
          repository.
  6. Did 'ppm install
ftp://ftp.esoftmatic.com/outgoing/DBI/5.8.2/DBD-Oracle.ppd '
           to install the DBD::Oracle binary for AS Perl 5.8.2 from
Jeff's
           repository.

Then for the DBD::Oracle test, I created this small test script:

#!C:\Perl\bin
use strict;
use DBI;

my $dbh = DBI->connect('dbi:Oracle:host=MY_HOST;sid=MY_SID',
                          'my_user',
                          'my_password',
                          { RaiseError => 1, PrintError => 1 }
) || die "Can't connect: $dbi::errstr";

print "Successful Connect: \$dbh=[$dbh]\n";

----------------------------

And it worked.

Hardy Merrill

>>> "Jeff Urlwin" <[EMAIL PROTECTED]> 03/04/04 03:46PM >>>
> 
> Jeff, I still don't know what my problem is - maybe you can help me.

> How do I know if I have the Oracle client libraries installed
> on this WinXP machine?  I have a C:\Oracle\Ora81 directory 
> which contains a bunch of folders, so I'm guessing I have at 
> least the client installed. 
> I do have a C:\Oracle\Ora81\network\ADMIN\tnsnames.ora file.
> 
> Do you know why I keep getting this error:
> 
>    Error: no suitable installation target found for package
> DBD-Oracle8.

Yep.  That's a PPM error, not an oracle error.

> 
> when I do 'ppm install DBD-Oracle8.ppd' ??  Is it because I'm
> using an Activestate DBD-Oracle8.zip from the ActivePerl 6xx 
> folder when I actually have ActivePerl 5.8.2 (ActivePerl 8xx) 
> ??  Would your DBI and DBD::Oracle binaries solve my problem? 
>  I'm guessing they would ;-)

Probably.  The best thing to do is let me know which version of Perl. 


If you have 5.8.2 perl (build 808?), then you should be able to do
(hmmm...forgot the URL...ah, there it is):

ppm install ftp://ftp.esoftmatic.com/outgoing/DBI/5.8.2/DBI.ppd 
ppm install ftp://ftp.esoftmatic.com/outgoing/DBI/5.8.2/DBD-ODBC.ppd 
ppm install ftp://ftp.esoftmatic.com/outgoing/DBI/5.8.2/DBD-Oracle.ppd



> 
> Thanks for any input you can give.

Np

Jeff

> 
> Hardy Merrill
> 
> >>> "Jeff Urlwin" <[EMAIL PROTECTED]> 03/04/04 12:32PM >>>
> Ok -- I thought I'd chime in here.  I *humbly* consider
> myself knowledgeable about this topic ;).
> 
> You can choose to use either DBD::ODBC or DBD::Oracle under
> windows platforms (with caveats and issues that will be 
> outlined below.  Both will/should work under most 
> circumstances.  However, as the *developer* of DBD::ODBC, I 
> use DBD::Oracle when using an Oracle data source.  It's not 
> that I couldn't use DBD::ODBC, but...
>       a) DBD::Oracle is the most reliable and *fastest* 
> method to talk to Oracle.
>       b) The Microsoft Oracle ODBC drivers are terribly painful to
use
>       c) The Oracle ODBC drivers are a *bit* buggy and
> nowhere near as fast as DBD::Oracle
>       d) YMMV with 3rd party ODBC drivers.  I used 3rd party 
> drivers in 1993 or so, when DBD::Oracle didn't work on the 
> Windows platform.  In fact, using Win32::ODBC and 3rd party 
> Oracle ODBC drivers was what prompted me to help "port" 
> DBD::Oracle to Windows Perl in the first place...many moons ago
> ;)
> 
> As stated above, I *prefer* using DBD::Oracle when connecting
> to Oracle. You need to have the Oracle client installed -- 
> and licensed -- on your machine.  ActiveState *stopped* 
> directly supporting DBD::Oracle binaries a while ago (after 
> the Perl 5.6.x timeframe and before 5.8.x timeframe). Using 
> anything but a DBD::Oracle built with the same version of 
> perl you are using is likely to be problematic.  Since AS 
> stopped putting up binary versions, I started to.  You can 
> get DBI, DBD::Oracle, DBD::ODBC and DBD::DB2 for current 
> versions of AS Perl (5.8.3) from my repository. 
> If you
> get DBD::XXX from my repos, also ensure you get DBI from my 
> repos.  If you don't, you are at your own risk with the 
> binary compatibility.  I've "announced" these repositories in 
> the past via [EMAIL PROTECTED] and [EMAIL PROTECTED], so 
> they should be in google too.  
> 
> That said, there is a known issue with < 9x client libraries
> with the binaries of DBD::Oracle.  The next version of 
> DBD::Oracle can handle that better, but you may get an error 
> related to the lack of OCILobWriteAppend in earlier Oracle 
> OCI clients...if so, for now, I recommend you update your 
> client while I work on the related issues.
> 
> Regards,
> 
> Jeff
> 
> 
> 
> 

________________________________________________________________________
This email has been scanned for all viruses by the MessageLabs Email
Security System.

Reply via email to