DBI/DBD::DB2
am 23.06.2006 21:28:08 von Kevin.D.Wendt
------_=_NextPart_001_01C696FB.28A96F1C
Content-Type: text/plain;
charset="us-ascii"
Content-Transfer-Encoding: quoted-printable
Hello,=20
I am trying to write a perl script to connect to our DB2 database and
do some basic SQL queries. But I'm having trouble with making
everything play nice.
I'm on WinXP, and did a manual build of DBI with Visual Studio's
nmake. That all went fine (as far as I can tell). So I downloaded the
DBD::DB2 module and unzipped it to my C:/Perl/lib directory (creating
the blib directory from the use lib line below. Here's the code I'm
trying to test it with...
use lib 'c:/Perl/lib/blib/lib/Bundle';
use DBI;
### Probe DBI for the installed drivers
my @drivers =3D DBI->available_drivers();
die "No drivers found!\n" unless @drivers; # should never happen
=20
### Iterate through the drivers and list the data sources for
### each one
foreach my $driver ( @drivers ) {
print "Driver: $driver\n";
my @dataSources =3D DBI->data_sources( $driver );
foreach my $dataSource ( @dataSources ) {
print "\tData Source is $dataSource\n";
}
print "\n";
}
=20
And here is the output:
DBD::DB2 initialisation failed: Can't locate object method "driver" via
package "DBD::DB2" at c:/Perl/site/lib/DBI.pm line 768.
Perhaps the capitalisation of DBD 'DB2' isn't right. At
C:..........dbQueryAutoBatch.pl line 33.
Not sure if DBI or DBD::DB2 arne't right or I'm just calling something
wrong. But any help would be appreciated.
Thanks,
KW
Kevin Wendt
Summer Project Intern
Cell: 612-209-2022
Email: Kevin.D.Wendt@wellsfargo.com
This message may contain confidential and/or privileged information. If
you are not the addressee or authorized to receive this for the
addressee, you must not use, copy, disclose, or take any action based on
this message or any information herein. If you have received this
message in error, please advise the sender immediately by reply e-mail
and delete this message. Thank you for your cooperation
------_=_NextPart_001_01C696FB.28A96F1C--
Re: DBI/DBD::DB2
am 24.06.2006 06:37:52 von jonathan.leffler
------=_Part_41857_30938178.1151123872733
Content-Type: text/plain; charset=ISO-8859-1; format=flowed
Content-Transfer-Encoding: 7bit
Content-Disposition: inline
On 6/23/06, Kevin.D.Wendt@wellsfargo.com
wrote:
>
> Hello,
> I am trying to write a perl script to connect to our DB2 database and
> do some basic SQL queries. But I'm having trouble with making
> everything play nice.
> I'm on WinXP, and did a manual build of DBI with Visual Studio's
> nmake. That all went fine (as far as I can tell). So I downloaded the
> DBD::DB2 module and unzipped it to my C:/Perl/lib directory (creating
> the blib directory from the use lib line below. Here's the code I'm
> trying to test it with...
Normally, you don't compile a module in the Perl install tree - you compile
it some other place and install it into the tree.
So, did you obtain a pre-compiled copy of DBD::DB2?
If so, do you have the necessary support libraries installed?
use lib 'c:/Perl/lib/blib/lib/Bundle';
I'm dubious in the extreme about this line (above).
use DBI;
>
> ### Probe DBI for the installed drivers
> my @drivers = DBI->available_drivers();
>
> die "No drivers found!\n" unless @drivers; # should never happen
>
> ### Iterate through the drivers and list the data sources for
> ### each one
> foreach my $driver ( @drivers ) {
> print "Driver: $driver\n";
> my @dataSources = DBI->data_sources( $driver );
> foreach my $dataSource ( @dataSources ) {
> print "\tData Source is $dataSource\n";
> }
> print "\n";
> }
>
>
> And here is the output:
>
> DBD::DB2 initialisation failed: Can't locate object method "driver" via
> package "DBD::DB2" at c:/Perl/site/lib/DBI.pm line 768.
>
> Perhaps the capitalisation of DBD 'DB2' isn't right. At
> C:..........dbQueryAutoBatch.pl line 33.
If you have a pre-compiled module, then I think your problem is the absence
of DB2 Connect (IIRC) or its equivalent.
If you don't have a pre-compiled module, then your problem is that you need
to compile and install it - and compile it in any directory that is not
underneath the Perl install directory hierarchy.
Not sure if DBI or DBD::DB2 arne't right or I'm just calling something
> wrong. But any help would be appreciated.
There's a chance I misinterpreting the symptoms - I'm not a DB2 expert.
--
Jonathan Leffler #include
Guardian of DBD::Informix - v2005.02 - http://dbi.perl.org
"I don't suffer from insanity - I enjoy every minute of it."
------=_Part_41857_30938178.1151123872733--
Re: DBI/DBD::DB2
am 24.06.2006 19:24:33 von denials
On 24/06/06, Jonathan Leffler wrote:
> On 6/23/06, Kevin.D.Wendt@wellsfargo.com
> wrote:
> >
> If you have a pre-compiled module, then I think your problem is the absence
> of DB2 Connect (IIRC) or its equivalent.
The basic connectivity requirement for DBD::DB2 on all platforms is
the DB2 Runtime Client.
If you're compiling DBD::DB2 yourself, then you need the DB2
Application Development Client instead (to get the headers required
for the compile).
Both of these are a free download from
http://ibm.com/db2/udb/support/downloadv8.html.
DB2 Connect (which isn't free) is only required if you are connecting
to zSeries or iSeries servers.
Dan