Попытка заставить это соединиться в этой среде:
Windows 7 Pro — 64 бит
MS Access 2010 — 32 бита (пробовал версии ACCDB и MDB)
Пакет абстракции ADODB, версия 5.20.9
Это тестовый код:
include("C:\php\adodb5\adodb.inc.php"); // includes the adodb library
$db = NewADOConnection("access"); // A new connection
$db->Connect("", "", "", "D:\...\PhpPlay.accdb");
Я пробовал все виды вариаций для параметров host, user и password в строке $ db-> connect, но безуспешно. (Первые две строки выполняются без ошибок.) Вот сообщение об ошибке для строки 3:
Предупреждение PHP: odbc_connect (): ошибка SQL: [Microsoft] [Диспетчер драйверов ODBC] Не найдено имя источника данных и не указан драйвер по умолчанию, состояние SQL IM002 в SQLConnect в C: \ php \ adodb5 \ drivers \ adodb-odbc.inc. PHP на линии 66
Так что теперь я цепляюсь за соломинку. Я обеспокоен смешанными 32/64 битными настройками, но не хочу делать что-то радикальное, если кто-то не может подтвердить, что это проблема.
Спасибо за любые идеи, которые вы могли бы предложить!
Сторонние модули не нужны. Просто используйте PHP PDO класс и уже установленный драйвер MS Access ODBC:
DSN Версия
$database="D:\...\PhpPlay.accdb";
$db = new PDO("odbc:DSN=MS Access Database;DBq=$database;");
Водитель Версия
$database="D:\...\PhpPlay.accdb";
$db = new PDO("odbc:Driver={Microsoft Access Driver (*.mdb, *.accdb)};DBq=$database;");
Других решений пока нет …