使用ODBC_CONNECT连接到MS Access 2007 - 驱动程序中的错误?

时间:2010-02-08 15:38:38

标签: php ms-access odbc driver

我已成功查询Microsoft Access 2003数据库(.mdb文件),现在我正在尝试对Microsft Access 2007执行相同操作。我尝试了以下操作:

if($type[1]=='accdb'){
    echo 'accdb';
    //2007 Microsoft Access 
    $connection = odbc_connect("Provider=Microsoft.ACE.OLEDB.12.0;Data Source=$mdbFilename;Persist Security Info=False;", $username, $password);

}else{
    echo 'mdb';
    //2000, 2003 Microsoft Access
    $connection = odbc_connect("Driver={Microsoft Access Driver (*.mdb)};Dbq=$mdbFilename", $username, $password);

}

但是,对于访问2007数据库,我收到此错误:

Warning: odbc_connect() [function.odbc-connect]: SQL error: [Microsoft][ODBC Driver Manager] 
 Data source name not found and no default driver specified, SQL state IM002in SQLConnect 
in E:\export.php on line 38

2 个答案:

答案 0 :(得分:2)

如果有人想知道如何做到这一点。这对我有用。

try{
    $dbh = new PDO("odbc:Driver={Microsoft Access Driver (*.mdb, *.accdb)};Dbq=$mdbFilename", $username, $password);
}catch(PDOException $e){
    echo $e->getMessage();
}

答案 1 :(得分:2)

IKIK这是非常严肃的挖掘但是......

$dbh = new PDO("odbc:Driver={Microsoft Access Driver (*.mdb, *.accdb)};Dbq=" . $mdbFilename, $username, $password);

这应该有用。