我已经安装了64位perl的64位操作系统。我已经从MS Access 2007中的表中检索数据(ms访问是32位)。我试图用一个错误来执行弹出的程序代码,它说64位perl是否包含所有32位perl模块?
DBI connect('Driver={Microsoft Access Driver (*.mdb,*.accdb)};DBQ=C:\test\INSTRUCTIONS.mdb','',...) failed: [Microsoft][ODBC Driver Manager] Data source name not found and no default driver specified (SQL-IM002) at C:/test/connectaccess.pl line 7.
cannot connect to DB at C:/test/connectaccess.pl line 7.
的代码是
#!perl
use strict;
use warnings;
use DBI;
my $DBFile = q(C:\test\INSTRUCTIONS.mdb);
my $dbh = DBI->connect("dbi:ODBC:Driver={Microsoft Access Driver (*.mdb)};DBQ=$DBFile",'','') or die("cannot connect to DB");
my $SQLquery = "SELECT * FROM IndemDate";
my $sth = $dbh->prepare($SQLquery);
my $rc = $sth->execute;
while (my $href = $sth->fetchrow_hashref) {
print "memberID: " . $$href{"memberID"} . "\n";
print "memberName: " . $$href{"memberName"} . "\n";
print "\n";
}
所以我在想,如果64位的perl包括所有的32个模块...或者是在连接到ms访问时出现任何错误。请指导我。
但我已经提到'Driver = {Microsoft Access Driver(* .mdb)'在我的程序中...是不够的? – Programmer
@编程器更改'死(“无法连接到DB”);'死'(“无法连接到DB:$!”);'找出它不工作的原因 –
但我已经提到'Driver = { Microsoft Access Driver(* .mdb)'在我的程序中...是不够的? @ Dr.Avalanche – Programmer