Подключение к MS Access 2007 с использованием ODBC_CONNECT - ошибка в драйвере? - PullRequest
3 голосов
/ 08 февраля 2010

Я успешно запросил базу данных 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);

}

Однако для базы данных Access 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 ]

2 голосов
/ 05 января 2012

ИКИК Это копание могилы, но ..

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

Это должно работать.

2 голосов
/ 24 августа 2010

На случай, если кому-то интересно, как это сделать. Это сработало для меня.

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