2016-04-18 9 views
1

den Zugriff Ich versuche, meine Access-Datenbank über PHP zu verbinden, aber ich erhalte den folgenden Fehler:Connecting Datenbank mit PHP

Fatal error: Uncaught exception 'PDOException' with message 'SQLSTATE[IM002] SQLDriverConnect: 0 [Microsoft][ODBC Driver Manager] Data source name not found and no default driver specified' in C:\inetpub\wwwroot\agency\getProperty.php:7 Stack trace: #0 C:\inetpub\wwwroot\agency\getProperty.php(7): PDO->__construct('odbc:Driver={Mi...') #1 {main} thrown in C:\inetpub\wwwroot\agency\getProperty.php on line 7 

Dies ist der Code ich verwende:

<?php 
$bits = 8 * PHP_INT_SIZE; 
echo "(Info: This script is running as $bits-bit.)\r\n\r\n"; 
$dbName = "HS_BE.accdb"; 


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

$dbh = new PDO($connStr); 
$dbh->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); 

$sql = "SELECT * FROM Accommodation"; 
$sth = $dbh->prepare($sql); 

$sth->execute(); 

while ($row = $sth->fetch()) { 
    echo $row['Options'] . "\r\n"; 
} 

Die HS_BE.accdb befindet sich im selben Verzeichnis wie die PHP-Datei, ive überprüfte die PHP.ini und alle odbc-Zeilen sind unkommentiert - außerdem habe ich den Treiber von microsoft.com auf den Server heruntergeladen. Das einzige, was ich mir vorstellen kann, ist meine $ Bits ist 32 Bit Echo, und der Treiber, den ich heruntergeladen habe, war 64 Bit, aber ich kann nicht den 32-Bit-Treiber aufgrund meiner 64-Bit-Büro auf dem Server herunterladen.

+2

mit tut mir leid, aber 32-Bit-PHP nicht 64-Bit-ODBC-Treiber verwenden können. –

Antwort

0

auf der sicheren Seite zu sein, versuchen realpath("HS_BE.accdb")