Connecting to MS Access 2007 using ODBC_CONNECT - driver error?

I managed to query the Microsoft Access 2003 database (.mdb file), and now I'm trying to do the same for Microsft Access 2007. I tried the following:

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

}

However, for an Access 2007 database, I get this error:

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
+3
source share
2 answers

In case someone wonders how to do this. It worked for me.

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

IKIK This is a serious digging, but ..

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

That should work.

+2
source

Source: https://habr.com/ru/post/1731877/


All Articles