[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

DBD::mysql vs DBI->data_sources('mysql')



i'm not the first to notice this (as i peruse
older posts on geocrawler.com) but i've not seen
any definitive answers--

until i recently did 'apt-get upgrade', this
worked:

	#!/usr/bin/perl
	use DBI;
	my @src = DBI->data_sources( 'mysql' );

now, it returns nothing. blank list. empty array.

- mysqld = 3.22.32-log
- perl = 5.005_03 (i386)
- DBD::mysql = 2.0402
- DBI = 1.13

the code below still (correctly) returns 'mysql'
as one of the drivers, which indicates that there's
no change to the name of the driver itself:

	my @dbms = DBI->available_drivers(1);

if i happen to know the name of a particular
data source (database) i can hard-code it
as always:

	my $dbh = DBI->connect(dbi:mysql:whatever, $who, $auth);

and from there everything is fine.  (i.e. $dbh->do(),
$dbh->prepare(), $dbh->execute() all behave as they're
supposed to.)

and of course, i can still get into mysql via the
command-line client-side interface, no problem.
the only think that broke was DBI->data_sources().



how'd i break my DBI->data_sources('mysql') ?
"it's dead jim..."



Reply to: