accdb和PDO php连接错误

时间:2012-12-09 13:14:20

标签: php database pdo

我正在尝试使用PDO创建一个简单的连接(在localhost - xampp上):

<?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.

任何想法?

2 个答案:

答案 0 :(得分:3)

非常感谢vodich,这是解决方案:

$dbh = new PDO("odbc:Driver={Microsoft Access Driver (*.mdb, *.accdb)};Dbq=C:\\xampp\\htdocs\\bd\\db\\icr.accdb;Uid=Admin");

答案 1 :(得分:0)

这个怎么样

 PDO("odbc:Driver=("odbc:Driver={Microsoft Access Driver (*.mdb)};
      Dbq=C:\xampp\htdocs\bd\db\icr.accdb;Uid=Admin");