使用perl连接到数据库

时间:2013-03-28 05:06:50

标签: perl dbi

我有一个脚本,我在其中连接到数据库并尝试执行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查询。

谢谢

1 个答案:

答案 0 :(得分:8)

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

dbi:Driver:databasename

如果您的数据库是MySQL,则可以使用mysql作为驱动程序:

dbi:mysql:databasename

此处more info on DBI