使用 PDO 的 MS Access PHP 连接“找不到驱动程序”错误

Posted

技术标签:

【中文标题】使用 PDO 的 MS Access PHP 连接“找不到驱动程序”错误【英文标题】:MS Access PHP Connection using PDO "could not find driver" error 【发布时间】:2014-08-24 06:07:56 【问题描述】:

我无法使用以下代码连接到我的 Access 数据库。我收到“找不到驱动程序”错误。谁能提供解决方案?

<?php

$mdbFileName = realpath('Project1.accdb');  

try 

    $dbh = odbc_connect("Driver=Microsoft Access Driver (*.mdb,*.accdb);Dbq=$mdbFileName",'','');
    if (!$dbh)
        echo 'Failed3';
    else
        echo 'Success3';
    
catch (PDOException $e)
    
    echo $e->getMessage();
     
odbc_close($dbh);

?>

【问题讨论】:

为了记录,您的问题可能只是缺少空格:*.mdb, *.accdb。但是,您答案中的方法是在 Windows 机器上处理 Access 数据库的更好方法。 【参考方案1】:

我的解决方案是使用 COM 对象和 OLEDB 连接,而不是 PDO 和 ODBC 连接:

<?php

$dbh = new COM('ADODB.Connection') or die('Cannot start ADO'); 

 $dbh->Open('Provider=Microsoft.ACE.OLEDB.12.0; Data Source=Project1.accdb; Persist Security Info=False;');

    if (!$dbh)
        echo 'Failed3';
    else
        echo 'Success3'; 

?>

【讨论】:

+1 在 Windows 服务器上处理 Access 数据库时,这是使用 PDO_ODBC 更好的替代方法。

以上是关于使用 PDO 的 MS Access PHP 连接“找不到驱动程序”错误的主要内容,如果未能解决你的问题,请参考以下文章

使用 ODBC 使用 msaccess 创建 PHP PDO 连接时出现致命错误

PHP使用pdo连接access数据库并循环显示数据操作示例

PHP PDO 查询,优化超过 1000 万行的速度性能 MS ACCESS 数据库

使用 PDO_DBLIB 连接到 MS SQL 数据库的 PHP 错误

PHP PDO 使用 SSL 连接到 MS SQLServer Express

PHP / MS Access DB 无法查询任何内容