4

我有一个脚本,我在其中连接到数据库并尝试执行 sql 查询。我的代码是这样的

use DBI;
$dbh = DBI->connect('Databasename', 'uid','pswd');
my $sth = $dbh->prepare ("select * from Tablename");
$sth->execute();
my @row_ary = $sth->hetshrow_array;
foreach $item (@row_ary)
{
print "$item\n";
}

当我尝试执行此代码时,我收到以下错误消息

Can't connect to data source 'Databasename' because I can't work out what driver to use (it doesn't seem to contain a 'dbi:driver:' prefix and the DBI_DRIVER env var is not set) at demo.pl line 2

任何人都可以建议我为什么收到此消息。执行 sql 查询需要做哪些配置。

谢谢

4

1 回答 1

8

DBI 很灵活,因为它支持多个数据库服务器(MySQL、Sybase、Oracle 等)。您传递给 DBI->connect 的第一个参数是 DSN(数据源名称),而不是数据库名称。DSN 的格式为:

dbi:Driver:databasename

如果您的数据库是 MySQL,您将使用mysql驱动程序:

dbi:mysql:databasename

这是有关 DBI 的更多信息

于 2013-03-28T05:10:06.297 回答