我的代码基于问题的答案
Access get all tables
,但出现以下错误:
dbd::odbc::st执行失败:
[Microsoft][ODBC Microsoft访问
无法读取驱动器]记录;否
对“msysobjects”的读取权限。
(SQL-42000)在direct.pl第22行。
[Microsoft][ODBC Microsoft访问
无法读取驱动器]记录;否
对“msysobjects”的读取权限。
(SQL-42000)在direct.pl第22行。
这是我迄今为止所做的尝试。我把我的第一次尝试说出来了。当前尝试基于
SELECT "Table" AS [Table]
阿斯坦德在回答中提到
question
. 不管怎样,我都会得到同样的错误。以下是我的全部代码:
use strict;
use warnings;
use DBI;
my $dbh = DBI->connect('DBI:ODBC:MutantDB','','')
or die 'could not connect to database' . DBI::errstr;
my $sth = $dbh->prepare('SELECT "Table" AS [Table],
MSysObjects.Name,
MSysObjects.Type
FROM MSysObjects
WHERE MSysObjects.Type =1
Or MSysObjects.Type=6
ORDER BY MSysObjects.Name;')
or die 'could not prepare statement' . $dbh->errstr();
# my $sth = $dbh->prepare('SELECT MSysObjects.*, MSysObjects.Type
# FROM MSysObjects
# WHERE (((MSysObjects.Type)=1)) OR (((MSysObjects.Type)=6));'
# ) or die 'could not prepare statment' . $dbh->errstr();
$sth->execute() or die $sth->errstr();
while( my ($name, $type) = $sth->fetchrow()){
print "name: $name \t type: $type \n";
}