我试图创建一个使用PDO一个简单的连接(在localhost - XAMPP):ACCDB和PDO PHP连接错误
<?php
try{
// Connect
//$dbh = new PDO("odbc:Driver={Microsoft Access Driver (*.mdb)};Dbq=.\db\icr.accdb;Uid=Admin");
$dbh = new PDO("odbc:Driver={Microsoft Access Driver (*.mdb, *.accdb)};Dbq=C:\xampp\htdocs\bd\db\icr.accdb;Uid=Admin");
/*** The SQL SELECT statement ***/
$sql = "SELECT * FROM Miasta";
foreach ($dbh->query($sql) as $row)
{
print $row['Nazwa'] .' - '. $row['IDWojewództwa'] . '<br />';
}
/*** close the database connection ***/
$dbh = null;
}
catch(PDOException $e)
{
echo $e->getMessage();
}
?>
但后来我得到这个错误:
SQLSTATE[HY000] SQLDriverConnect: 63 [Microsoft][Driver ODBC Microsoft Access]General error Unable to open registry key Temporary (volatile) Ace DSN for process 0x5f8 Thread 0x1124 DBC 0x3608134 Jet.
任何想法?
你试图连接到MS Access数据库的新ACCDB格式。但我不相信您使用的驱动程序支持它,或者您使用的DSN可能不适合驱动程序。尝试从您的DSN中删除'* .mdb',或者仅使用'* .mdb',而不使用额外的* .accdb'并查看是否有帮助。 – Sherif
无论如何它们应该是向后兼容的。扩展应该不重要。至少这是我的知识,但我想你可以先尝试。 – Sherif