使用 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 错误