DBI problems


A

alx__21

Hello. Using the following test code:

#!/usr/bin/perl

use DBI;

$db_handle = DBI-
connect("dbi:mysql:database=mysql;host=x.x.x.x;user=x;password=x")
or die "Couldn't connect to database: $DBI::errstr\n";

//I've edited out some data there obviously

open(FILEHANDLE, ">", "C:\\test.txt") || die('cannot open file: ' .
$!);

$sql = "SELECT * FROM hhdb2.handhelds";
$statement = $db_handle->prepare($sql)
or die "Couldn't prepare query '$sql': $DBI::errstr\n";

$statement->execute()
or die "Couldn't execute query '$sql': $DBI::errstr\n";
while ($row_ref = $statement->fetchrow_hashref())
{
print FILEHANDLE "$row_ref->{id}\n";
}

close(FILEHANDLE);
$db_handle->dis
connect();


.... I get the following error:

install_driver(mysql) failed: Can't locate DBD/mysql.pm in @INC (@INC
contains:
C:/Perl/site/lib C:/Perl/lib .) at (eval 4) line 3.
Perhaps the DBD::mysql perl module hasn't been fully installed,
or perhaps the capitalisation of 'mysql' isn't right.
Available drivers: DBM, ExampleP, File, Gofer, ODBC, Proxy, SQLite,
Sponge.
at Z:\changelist\dbtest2.pl line 5


I'm sure that DBI is installed (ppm says so) and I've read repeatedly
that this should be able to use a mysql database. What has gone
wrong?

I would appreciate any help.
 
Ad

Advertisements

M

Mark Clements

Hello. Using the following test code:

#!/usr/bin/perl

use DBI;

$db_handle = DBI-
or die "Couldn't connect to database: $DBI::errstr\n";

//I've edited out some data there obviously

open(FILEHANDLE, ">", "C:\\test.txt") || die('cannot open file: ' .
$!);

$sql = "SELECT * FROM hhdb2.handhelds";
$statement = $db_handle->prepare($sql)
or die "Couldn't prepare query '$sql': $DBI::errstr\n";

$statement->execute()
or die "Couldn't execute query '$sql': $DBI::errstr\n";
while ($row_ref = $statement->fetchrow_hashref())
{
print FILEHANDLE "$row_ref->{id}\n";
}

close(FILEHANDLE);
$db_handle->dis
connect();


... I get the following error:

install_driver(mysql) failed: Can't locate DBD/mysql.pm in @INC (@INC
contains:
C:/Perl/site/lib C:/Perl/lib .) at (eval 4) line 3.
Perhaps the DBD::mysql perl module hasn't been fully installed,
or perhaps the capitalisation of 'mysql' isn't right.
Available drivers: DBM, ExampleP, File, Gofer, ODBC, Proxy, SQLite,
Sponge.
at Z:\changelist\dbtest2.pl line 5


I'm sure that DBI is installed (ppm says so) and I've read repeatedly
that this should be able to use a mysql database. What has gone
wrong?

You need to install DBD::mysql. Your paths indicate you're on windows so
I'll assume you're using ActiveState:

ppm install DBD-mysql

Mark
 
A

alx__21

This does not appear to exist. I can't find it under the ppm either.
What does exist is: dbd-mysql-informationschema, dbd-mysql-
SimpleMySQL, and dbd-mysqlPP. I don't think any of these are what I'm
looking for.
 
Ad

Advertisements

A

alx__21

Being kinda new to this it took me a while to figure out what to do
with your XML file, but now I've got the repository added to ppm and
the proper file is downloading.

Thanks Blaine.
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Top