RE: Accessing oracle from windows 2000

From: Jeff Urlwin (jurlwin_at_esoftmatic.com)
Date: 03/04/04


To: <Bjorn.Naessens@roularta.be>, <HMerrill@dhcr.state.ny.us>,	<dbi-users@perl.org>, <brian.barto@spectrum-health.org>
Date: Thu, 4 Mar 2004 12:32:01 -0500

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 dbi-announce@perl.org and
dbi-users@perl.org, 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



Relevant Pages

  • Re: DBD Oracle 1.20 ORA-24334 Error
    ... On the premise instant client and also tried to run perl Makefile.PL -V ... the status after having connected to Oracle ... Failed 2/33 tests, 93.94% okay ...
    (perl.dbi.users)
  • Re: DBD::Oracle / Instant Client segfaults
    ... I've been doing some more tests concerning this issue and it seems that it only appears with the combination of Oracle Instant client libraries, Perl configured with -Dusemymalloc on RHEL 3. ... When i run the script with the 'use Digest::SHA1;' line commented ...
    (perl.dbi.users)
  • Re: DBD::Oracle - problem with support for objects.
    ... causes perl to crash with a segmentation fault. ... Have you tried using a client that matches the server? ... cannot tell if you are running to a local or remote oracle. ... reproduced it using a local TNS style connection. ...
    (perl.dbi.users)
  • RE: OCI Initialize failed 1804 check ORACLE_HOME NLS_SETTINGS
    ... I tried to compile DBD:Oracle 1.15 with Oracle 10g client on HP-UX11.11 ... You should not have to recompile Perl again but you will have to ...
    (perl.dbi.users)
  • Re: ANNOUNCE: DBD:Oracle 1.18
    ... Well a warning in one compiler is better than and error in an other so I ... This might be a problem more with the older oracle OCI in your client. ... perl -Mblib t/26exe_array.t ...
    (perl.dbi.users)