用PHP连接Access数据库


Connecting to Access Database with PHP

我正试图通过PHP连接到我的Access数据库,但我收到了以下错误:

Fatal error: Uncaught exception 'PDOException' with message 'SQLSTATE[IM002] SQLDriverConnect: 0 [Microsoft][ODBC Driver Manager] Data source name not found and no default driver specified' in C:'inetpub'wwwroot'agency'getProperty.php:7 Stack trace: #0 C:'inetpub'wwwroot'agency'getProperty.php(7): PDO->__construct('odbc:Driver={Mi...') #1 {main} thrown in C:'inetpub'wwwroot'agency'getProperty.php on line 7

这是我正在使用的代码:

<?php
$bits = 8 * PHP_INT_SIZE;
echo "(Info: This script is running as $bits-bit.)'r'n'r'n";
$dbName = "HS_BE.accdb";

$dbh = new PDO("odbc:Driver={Microsoft Access Driver (*.mdb, *.accdb)};Dbq=HS_BE.accdb");
$dbh = new PDO($connStr);
$dbh->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
$sql = "SELECT * FROM Accommodation";
$sth = $dbh->prepare($sql);
$sth->execute();
while ($row = $sth->fetch()) {
    echo $row['Options'] . "'r'n";
}

HS_BE.accdb与PHP文件在同一目录中,我检查了PHP.ini,所有的odbc行都没有注释——此外,我从服务器上的microsoft.com下载了驱动程序。我唯一能想到的是我的$bits是32位的,我下载的驱动程序是64位的,但我不能下载32位的驱动程序,因为我在服务器上有64位的office。

为了安全起见,请尝试使用realpath("HS_BE.accdb")