2017-07-24 1 views
1

Ich versuche, die Microsoft-Access-Datenbank mit PDO mit ODBC verbinden. Ich habe die Dateien auf Netzlaufwerk montiert ist und ich versuche, auf sie zuzugreifen, aber ich bin den folgenden Fehler erhalten:'Microsoft Access-Treiber (* .mdb)': Datei nicht gefunden 'Fehler beim Verbinden von PDO mit ODBC in PHP

PDOException' with message 'SQLSTATE[01000] SQLDriverConnect: 0 [unixODBC][Driver Manager]Can't open lib 'Microsoft Access Driver (*.mdb)'': file not found'.

Hier ist mein Code:

$dbName = "/info/new.mdb"; 

if (!file_exists($dbName)) { 
    die("Could not find database file."); 
} 
$database = new PDO("odbc:Driver={Microsoft Access Driver (*.mdb)};Dbq= $dbName;Uid=admin"); 
+0

MS Access kann nur in Windows-Umgebungen verwendet werden, in denen für die Dateireferenz Backslashes erforderlich sind. Und für PHP, doppelte Backslahes statt Vorwärts Schrägstriche. – Parfait

+0

also wie muss ich auf die Datei zugreifen? – vyshnavi

+0

Umgebung: Windows – vyshnavi

Antwort

0

Erstens, stellen Sie sicher, dass die ODBC-Erweiterung ist in der Datei php.ini aktiviert. Entfernen Sie einfach die ;, um es zu aktivieren.

;extension=php_pdo_odbc.dll 

Dann für die Verbindung, verwenden Sie bitte den genauen Speicherort mit der richtigen Konvention (es sollte Backslash verwenden). Das Beispiel ist unten.

try { 
    $file_location = "C:\Users\PC1\Desktop\your_database.mdb"; 
    $dbh = new PDO("odbc:Driver={Microsoft Access Driver (*.mdb)};Dbq=$file_location;Uid=Admin"); 

    //Do your program stuffs here 

    $dbh = null; 
} catch (PDOException $e){ 
    echo $e->getMessage(); 
} 
Verwandte Themen