RE: A common perl script for different database platforms
- From: Hetal.Soni@xxxxxxxxx (Hetal Soni)
- Date: Mon, 27 Feb 2006 17:26:32 -0500
Thanks for your input guys.
I removed both "use:DBD::Oralce" and "use"DBD:DB2" lines and now getting
following error:
Can't locate object method "connect" via package "DBI" (perhaps you
forgot to lo
ad "DBI"?) at tmp1.plx line 58.
Any suggestion?
Thanks again,
Hetal.
-----Original Message-----
From: Alexander Foken [mailto:alexander@xxxxxxxx]
Sent: Sunday, February 26, 2006 1:16 AM
To: dbi-users@xxxxxxxx
Cc: Hetal Soni
Subject: Re: A common perl script for different database platforms
Right. And to explain why this does not work:
Perl handles "use" at compile time, not at runtime. "use WhatEver" is
roughly equivalent to "BEGIN { require WhatEver; WhatEver->import() if
WhatEver->can('import'); }", so you always use both DBD::Oracle and
DBD::DB2, no matter what $opt_p contains.
If you want to load a module at runtime, use require.
If you want to load a DBI driver (DBD::*) at runtime, let DBI handle it.
Alexander
Tyler MacDonald wrote:
Hetal Soni <Hetal.Soni@xxxxxxxxx> wrote:fine.
Below is code lines to use library for Oracle or DB2:
if ($opt_p eq "O") {
$DBType = "Oracle";
use DBD::Oracle;
};
if ($opt_p eq "D") {
$DBType = "DB2";
use DBD::DB2;
};
If I comment "use DBD::DB2;" line out and then compile it it works
you
You don't have to "use" a DBD:: driver to connect to it; when
call DBI's "connect" method, it will do that for you. Try removing both
"use" lines above and see if that solves it.
Cheers,
Tyler
--
Alexander Foken
mailto:alexander@xxxxxxxx http://www.foken.de/alexander/
NOTICE: This email message is for the sole use of the intended recipient(s) and may contain confidential and privileged information. Any unauthorized review, use, disclosure or distribution is strictly prohibited. If you are not the intended recipient, please contact the sender by reply email and destroy all copies and attachments of the original message.
.
- Follow-Ups:
- Re: A common perl script for different database platforms
- From: Clive Eisen
- Re: A common perl script for different database platforms
- Prev by Date: Re: Can't connect to Sybase Rep server
- Next by Date: RE: A common perl script for different database platforms
- Previous by thread: Re: Zip Codes, Long/Lat and LAMP?
- Next by thread: Re: A common perl script for different database platforms
- Index(es):