使用 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 连接“找不到驱动程序”错误的主要内容,如果未能解决你的问题,请参考以下文章