我无法通过php连接到访问数据库。 我在互联网上搜索了这个问题。这是我的第3天,我正在尝试这个,但找不到解决方案。 我已经安装了所有必需的东西:ODBC驱动程序和MS Access数据库引擎。
我连接到名为newDB.mdb的数据库的PHP代码是:
<?php
$dbName = $_SERVER["DOCUMENT_ROOT"] . "access_db/newDB.mdb";
echo $dbName."<br />";
if (!file_exists($dbName)) {
die("Could not find database file.<br />".$dbName);
}
try {
$db = new PDO("odbc:DRIVER={Microsoft Access Driver (*.mdb,*.accdb)};Dbq=$dbName");
} catch(PDOException $e) {
echo "Error: ".$e->getMessage()."<br />";
}
?>
我收到的错误:
C:/wamp/www/access_db/newDB.mdb
Error: SQLSTATE[IM002] SQLDriverConnect: 0 [Microsoft][ODBC Driver Manager]
>Data source name not found and no default driver specified
我正在使用本地计算机。
操作系统:Windows8 Pro和WampServer 2.5,Microsoft Access 2013(我将文件导出为.mdb,它也不适用于.accdb扩展名)
我不知道自己缺少什么,或者我需要做什么。
答案 0 :(得分:0)
您的驱动程序名称缺少空格。它应该是
DRIVER={Microsoft Access Driver (*.mdb, *.accdb)}
^
答案 1 :(得分:0)
只要需要支持.mdb文件,就可以试试这个:
$db = new PDO("odbc:DRIVER={Microsoft Access Driver (*.mdb)};Dbq=$dbName");
这对我来说很好。
默认情况下,&#34; Microsoft Access驱动程序(* .mdb,* .accdb)&#34;没有安装。在注册卡C:\Windows\SysWOW64\odbcad32.exe
中打开Drivers
。
在我的情况下 - 我认为这是标准的办公室/访问安装行为 - 只是Microsoft Access Driver (*.mdb)
。
如果您需要支持.accdb文件,则需要安装&#34; Microsoft Access数据库引擎2010可再发行组件&#34;:https://www.microsoft.com/en-us/download/details.aspx?displaylang=en&id=13255
安装后,您可以使用
$db = new PDO("odbc:DRIVER={Microsoft Access Driver
(*.mdb,*.accdb)};Dbq=$dbName");
修改强>
我找到了安装Office 2016(https://www.microsoft.com/en-us/download/details.aspx?id=54920)的较新版本,但无法安装。 我收到有关使用64位办公组件的错误报告,但安装了32位办公室。有人想解决这个问题吗?