compiling DBD module on system with multiple versions of oracle

compiling DBD module on system with multiple versions of oracle

am 12.09.2007 21:16:50 von rlabutis

------=_Part_10642_4509967.1189624610237
Content-Type: text/plain; charset=ISO-8859-1
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

if you have a system with multiple versions of oracle and using Perl DBI and
DBD modules.

how to use/setup the DBD module to work on any version of oracle. In
otherwords which oracle environment am i going to use?
the make file will hard code the full path of the libraries into the
binaries.

what happens when you need to create the dbi/dbd module for another system
that does not have the version of oracle on the system that has the IBM C
compiler?

------=_Part_10642_4509967.1189624610237--

RE: compiling DBD module on system with multiple versions of oracle

am 12.09.2007 21:32:37 von Erick.Nelson

For the last question, you could always try out DBD::Proxy

-----Original Message-----
From: Richard Labutis [mailto:rlabutis@gmail.com]=20
Sent: Wednesday, September 12, 2007 12:17 PM
To: dbi-users@perl.org
Subject: compiling DBD module on system with multiple versions of oracle

if you have a system with multiple versions of oracle and using Perl DBI
and
DBD modules.

how to use/setup the DBD module to work on any version of oracle. In
otherwords which oracle environment am i going to use?
the make file will hard code the full path of the libraries into the
binaries.

what happens when you need to create the dbi/dbd module for another
system
that does not have the version of oracle on the system that has the IBM
C
compiler?

Re: compiling DBD module on system with multiple versions of oracle

am 13.09.2007 12:46:26 von scoles

> if you have a system with multiple versions of oracle and using Perl DBI
> and
> DBD modules.
>
> how to use/setup the DBD module to work on any version of oracle. In
> otherwords which oracle environment am i going to use?

Most likly the first one it finds. When your run Makefile.PL It will tell
you which client it is useing.

> the make file will hard code the full path of the libraries into the
> binaries.
>

Yest that is how it works. But remember it tis the client libraries. OIC.dll
for win and the .SO files for others

> what happens when you need to create the dbi/dbd module for another
> system
> that does not have the version of oracle on the system that has the IBM C
> compiler?
>

Like I have said in the past you are compiling against a client not a
database. In this case I would install the Oracle instant client
http://www.oracle.com/technology/tech/oci/instantclient/inde x.html as it is
compatiable (as are most clients) with almost any Oracle database and then
compile your DBD::Oracle against this one.

You do not need an Oracle DB on you server to run DBD:ORACLE actully there
are a large number of reasons why you would not want your Oracle DB and
DBD::Oracle on the same box but I wount go into them here.

cheers John Scoles

Re: compiling DBD module on system with multiple versions of oracle

am 14.09.2007 00:06:06 von Andy

Richard Labutis wrote:
> if you have a system with multiple versions of oracle and using Perl DBI and
> DBD modules.
>
> how to use/setup the DBD module to work on any version of oracle. In
> otherwords which oracle environment am i going to use?
> the make file will hard code the full path of the libraries into the
> binaries.

Option (1): pick one Oracle client version, higher the better, always
use that client when using the Perl scripts.

Option (2): use PREFIX when running Makefile.PL to create a separate
DBD::Oracle installation per client version in separate directories
(it'll compile against whatever you have ORACLE_HOME [+PATH
+LD_LIBRARY_PATH] set to at the time), and then later remember to set
PERL5LIB as appropriate as well when you change Oracle client
environment variables, so the appropriately linked DBD::Oracle gets loaded.

(no doubt there are several more options)

> what happens when you need to create the dbi/dbd module for another system
> that does not have the version of oracle on the system that has the IBM C
> compiler?

Using PAR might be one option, but as suggested in another post, using
Instant Client is a fairly attractive option due to its simple
installation (i.e. just drop it in a suitable directory).

--
Andy Hassall :: andy@andyh.co.uk :: http://www.andyh.co.uk
http://www.andyhsoftware.co.uk/space :: disk and FTP usage analysis tool