文件:D:\Access\db1.mdb,用戶Admin,密碼123
// 控制面板 → 管理工具 → 數據源(ODBC) → 系統DSN → 添加
// 驅動: Microsoft Access Driver (*.mdb)
// DSN名: dbdsn
$conn = odbc_connect('dbdsn', 'admin', '123');
$result = odbc_exec($conn, "SELECT * FROM table WHERE condition");
while (odbc_fetch_row($result)) {
echo odbc_result($result, 'field_name');
}
odbc_close($conn);
$conn = new COM('ADODB.Connection');
$dsn = "DRIVER={Microsoft Access Driver (*.mdb)};DBQ=" . realpath('path/db1.mdb');
$conn->Open($dsn);
$rs = $conn->Execute("SELECT * FROM table WHERE condition");
while (!$rs->EOF) {
echo $rs->Fields('field_name')->Value;
$rs->MoveNext();
}
$rs->Close();
$conn->Close();
| 維度 | ODBC+DSN | ADO無DSN |
|---|---|---|
| 部署 | 需機器配置DSN | 僅需文件路徑 |
| 性能 | 較好 | 略低(COM調用) |
| 可移植性 | 差 | 好 |
| 並發 | Access本身限制 | 同 |
php_com_dotnet.dll (Windows專有)realpath()獲取絕對路徑