【问题标题】:Connecting to Access Database with PHP使用 PHP 连接 Access 数据库
【发布时间】:2016-04-18 13:53:51
【问题描述】:

我正在尝试通过 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 位的,但由于我在服务器上有 64 位办公室,我无法下载 32 位驱动程序。

【问题讨论】:

  • 很抱歉,32 位 PHP 不能使用 64 位 ODBC 驱动程序。

标签: php ms-access server odbc


【解决方案1】:

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

【讨论】:

    猜你喜欢
    • 2017-04-01
    • 1970-01-01
    • 1970-01-01
    • 2012-01-12
    • 2015-01-16
    • 2010-12-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多