Подключение к MS Access 2007 с использованием ODBC_CONNECT - ошибка в драйвере?
Я успешно запросил базу данных 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 ответа
Решение
На случай, если кому-то интересно, как это сделать. Это сработало для меня.
try{
$dbh = new PDO("odbc:Driver={Microsoft Access Driver (*.mdb, *.accdb)};Dbq=$mdbFilename", $username, $password);
}catch(PDOException $e){
echo $e->getMessage();
}
IKIK Это убер могила копать, но..
$dbh = new PDO("odbc:Driver={Microsoft Access Driver (*.mdb, *.accdb)};Dbq=" . $mdbFilename, $username, $password);
Это должно работать.