Я пытаюсь подключиться к базе данных Access через 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
Это код, который я использую:
<?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"; }
HS_BE.accdb находится в том же каталоге, что и файл PHP, ive проверил PHP.ini, и все строки odbc не комментируются – также, ive загрузил драйвер с microsoft.com на сервер. Единственное, что я могу придумать, это мои биты в размере 32 бит, а загруженный драйвер был 64 бит, но я не могу загрузить 32-битный драйвер из-за того, что у меня есть 64-битный офис на сервере.