PHP ODBC -连接到本地.mdb数据库


PHP ODBC - connect to local .mdb database

我已经安装了php5-odbc库

尝试连接到.mdb文件,但一直得到错误数据源名称未找到,并且没有指定默认驱动程序

代码:

$dbName = "../../../var/Import/PartsPlaceDB.mdb";
if (!file_exists($dbName)) {
    die("Could not find database file.");
}
$db = new PDO("odbc:DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=$dbName; Uid=; Pwd=;");

输出:

Fatal error: Uncaught exception 'PDOException' with message 'SQLSTATE[IM002] SQLDriverConnect: 0 [unixODBC][Driver Manager]Data source name not found, and no default driver specified' in [...]

PDO司机:

foreach(PDO::getAvailableDrivers() as $driver)
{
echo $driver.'<br />';
}
输出:

mysql
odbc
sqlite

该问题在64位版本中反复出现。看起来你的代码只在Windows 32位上工作。要解决这个问题,您可以安装这个工具:Microsoft Access Database Engine 2010 Redistributable。我有同样的问题几个月了,但这个工具解决了我的。

我猜你在做错误的位置?

而不是

$dbName = "../../../var/Import/PartsPlaceDB.mdb";

为什么不这样做呢

$dbName = "..'..'..'var'Import'PartsPlaceDB.mdb";