PHP ODBC connect () для доступа - несоответствие архитектуры - PullRequest
11 голосов
/ 10 февраля 2012

Я уже несколько часов гуглю.

Я прочитал бесчисленные статьи, такие как: Есть ли драйвер Windows 7 ODBC для Access?

Я пытался использоватьоба администратора ODBC - и сумели успешно добавить туда DSN системы для обоих:

  • База данных Microsoft Access
  • База данных Microsoft do Access

Когда япопытка подключения к БД Access, хранящейся локально:

odbc_connect('Aquarius2', '', '');

Я получаю следующие ошибки:

odbc_connect (): ошибка SQL: [Microsoft] [Диспетчер драйверов ODBC] Указанный DSN содержит несоответствие архитектуры между драйвером и приложением, состояние SQL IM014 в SQLConnect в C: \ export \ export.php в строке 3

Простой скрипт попытался установить последние драйверы доступа - Aquarius2 имя моего DSN все еще не работает.

У меня нет идей - что мне не хватает?

С уважением, Алекс

Ответы [ 2 ]

18 голосов
/ 10 февраля 2012

Вы пытаетесь использовать 64-битное приложение с 32-битным драйвером ODBC или наоборот. Посмотрите на ODBC на 64-битных платформах Windows .

Вы должны определить, является ли ваше PHP-приложение первым 64-битным или 32-битным.

Затем, как только вы убедились, что вам нужно запустить правильного администратора ODBC - их 2, один для 32-битных и один для 64-битных. 64-битный администратор ODBC находится в административных инструментах панели управления, а 32-битный - в %windir\syswow64\odbcad32.exe.

После того, как вы сопоставили архитектуру своего приложения с подходящим администратором ODBC, вам нужно создать системный DSN. Если вы не можете найти драйвер MS Access у администратора, вам нужно скачать его для этой архитектуры. Я не уверен, что существует 64-битный драйвер MS Access ODBC; если нет, вам придется изменить архитектуру приложения.

В статье, на которую я ссылался , содержится больше информации.

4 голосов
/ 09 октября 2012

Еще одно замечание: если вы установили 64-битный WampServer, он устанавливает все 64-битные - Apache, MySQL, PHP. Если вы хотите иметь 32-битный PHP, перейдите на страницу загрузки PHP и выберите один из релизов 'win32'. И не забудьте изменить путь php при запуске приложения! Это плюс настройка 32-битного администратора ODBC - %windir\syswow64\odbcad32.exe - и вам будет хорошо.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...