简体   繁体   中英

PHP ODBC - connect to local .mdb database

I've installed the php5-odbc library.

Trying to connect to a .mdb file but keep getting error Data source name not found, and no default driver specified .

Code:

$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=;");

Outputs:

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 Drivers:

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

Output:

mysql
odbc
sqlite

The problem is recurrent with 64-bit version. It looks like your code only work on Windows 32-bit. To solve the problem, you might install this tool: Microsoft Access Database Engine 2010 Redistributable . I had the same problem for months but this tool solved mine.

I guess you're doing the location wrong?

Instead of this

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

Why not do it like this

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

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM