Sürücü hatası - odbc_connect kullanarak MS Access 2007 bağlanma?

2 Cevap php

Ben bir Microsoft Access 2003 veritabanı (. Mdb dosyası) sorgulama ve şimdi ben bir Microsft Access 2007 için aynı şeyi yapmaya çalışıyorum başarılı olmuştur Ben şu denedim.:

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);

}

Ancak, Access 2007 veritabanı için bu hatayı alıyorum:

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 Cevap

Durumda kimse bu nasıl merak ediyor. Bu benim için çalıştı.

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

IKIK Bu uber mezar kazma ama ..

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

Bu çalışması gerekir.