我有一个脚本,我在其中连接到数据库并尝试执行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查询。
谢谢
答案 0 :(得分:8)
DBI非常灵活,它支持多个数据库服务器(MySQL,Sybase,Oracle等)。传递给DBI-> connect的第一个参数是DSN(数据源名称),而不是数据库名称。 DSN的格式为:
dbi:Driver:databasename
如果您的数据库是MySQL,则可以使用mysql
作为驱动程序:
dbi:mysql:databasename