PHP ODBC connect() для Access - несоответствие архитектуры
У меня уже много часов.
Я прочитал бесчисленные статьи, такие как: есть ли драйвер ODBC для Windows 7 для доступа?
Я попытался использовать оба администратора ODBC, и им удалось успешно добавить туда системный DSN для обоих:
- База данных Microsoft Access
- Microsoft делает базу данных Access
Когда я пытаюсь подключиться к базе данных Access, хранящейся локально:
odbc_connect('Aquarius2', '', '');
Я получаю следующие ошибки:
odbc_connect(): ошибка SQL: [Microsoft] [диспетчер драйверов ODBC] Указанный DSN содержит несоответствие архитектуры между драйвером и приложением, состояние SQL IM014 в SQLConnect в C:\export\export.php в строке 3
Простой скрипт попытался установить последние драйверы доступа - Aquarius2
- это имя моего DSN, которое все еще терпит неудачу.
У меня нет идей - чего мне не хватает?
С уважением, Алекс
Ответы
Ответ 1
Вы пытаетесь использовать 64-битное приложение с 32-разрядным драйвером ODBC или наоборот. Посмотрите на ODBC на 64-битных платформах Windows.
Вам нужно определить, будет ли ваше приложение PHP 64-битным или 32-битным первым.
Затем, как только вы убедитесь, что вам нужно запустить правильный администратор ODBC, их 2, один для 32 бит и один для 64 бит. 64-разрядный администратор ODBC находится в инструментах Adminstrative, панели управления и 32-разрядной версии находятся в %windir\syswow64\odbcad32.exe
.
После того, как вы сопоставляете свою архитектуру приложений с правильным администратором ODBC, вам необходимо создать системный DSN. Если вы не можете найти драйвер MS Access у администратора, вам нужно загрузить его для этой архитектуры. Я не уверен, есть ли 64-битный драйвер ODBC MS Access; если этого не произойдет, вам придется изменить архитектуру приложения.
В статье, на которую я ссылаюсь, содержится больше информации.
Ответ 2
Еще одно замечание: если вы установили 64-разрядный WampServer, он установит 64-битное все - Apache, MySQL, PHP. Если вам нужен 32-разрядный PHP, перейдите на страницу загрузки PHP и выберите один из выпусков win32. И не забудьте изменить свой php-путь при запуске приложения! Это плюс настройка 32-разрядного администратора ODBC - %windir\syswow64\odbcad32.exe
- и вам должно быть хорошо идти.