Задать вопрос
iamlorddop
@iamlorddop

Как исправить ошибку при подключении БД Access к PHP?

Пытаюсь подключиться к БД Access и возникает ошибка:

"Warning: odbc_connect(): SQL error: [Microsoft][ODBC Driver Manager] Data source name not found and no default driver specified, SQL state IM002 in SQLConnect in D:\ampps\Ampps\www\connect\index.php on line 11


Уже пробовала поставить пользовательский и системный dsn 32/64, пробовала указать 4 параметр в odbc_connect - SQL_CUR_USE_DRIVER, пробовала прописать к какому именно dsn подключиться "Driver=Microsoft Access Driver (*.mdb, *.accbd);Dbq=recruter".
Код

$connection = odbc_connect(
   "Driver=Microsoft Access Driver (*.mdb, *.accbd);Dbq=recruter", 
   "", 
   "",
   SQL_CUR_USE_DRIVER
);


Ошибка всё та же
  • Вопрос задан
  • 120 просмотров
Подписаться 1 Простой 1 комментарий
Решения вопроса 1
ThunderCat
@ThunderCat Куратор тега PHP
{PHP, MySql, HTML, JS, CSS} developer
Вроде ODBC не предназначен для аксеса, везде рекомендуют использовать пдо. Либо ставить руками поддержку аксеса, что скорее всего в любом случае понадобится.
https://stackoverflow.com/questions/2222684/connec...
https://stackoverflow.com/questions/19807081/how-t...

Так же, что нужно для доступа к аксесу как источнику (там про мс скуель, но драйверы будут одинаковые нужны и для пыха):
https://learn.microsoft.com/ru-ru/sql/integration-...

PS: Все еще не понимаю назачем издеваться над собой, не легче экспортировать базу во что-то живое?
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
@rPman
А если не использовать dsn а указать в настройках подключения путь до файла базы?
p.s. https://www.php.net/manual/en/odbc.installation.php
spoiler
To avoid «[Microsoft][ODBC Driver Manager] Data source name not found and no default driver specified»:

- Find the ODBC manager in Windows control panel and check the "Drivers" tab. Please note that 64 bit Windows has two different managers for 32 [1] and 64 bit drivers: drivers must match your PHP installation.

- If the required driver doesn't show up there, you need to install it. The free "Microsoft Access Database Engine 2010 Redistributable" package [2] is one of the possibilities for Access and Excel.

- When connecting with odbc_connect(), make sure you are using the exact driver name in the DRIVER parameter: 'Microsoft Access Driver (*.mdb)' will not work if your driver is called 'Microsoft Access Driver (*.mdb, *.accdb)'.

[1] C:\Windows\SysWOW64\odbcad32.exe
[2] www.microsoft.com/en-us/download/details.aspx?id=13255
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы