Не удается найти драйвер ядра субд microsoft access 2016 64 разрядная версия

Обновлено: 25.06.2024

Я пытаюсь подключиться к базе данных .mdb с помощью модуля pyodbc со следующим кодом:

Обычно это работает нормально, но сегодня перестало работать, и я не могу понять почему. Это ошибка, которую я получаю:

InterfaceError: ('IM003', '[IM003] Указанный драйвер не может быть загружен из-за системной ошибки 1114: сбой процедуры инициализации библиотеки динамической компоновки (DLL) (драйвер Microsoft Access (* .mdb, * .accdb), C: \ Program Files \ Microsoft Office \ root \ VFS \ ProgramFilesCommonX64 \ Microsoft Shared \ Office16 \ ACEODBC.DLL). (160) (SQLDriverConnect) ')

Я не думаю, что это что-то особенное для базы данных, к которой я пытаюсь получить доступ, так как, когда я пытаюсь настроить драйвер из источников данных ODBC, я получаю по существу ту же ошибку:

enter image description here

4 ответа

Когда я попытался переустановить в первый раз, он пожаловался, что «Вы не можете установить 32-разрядную версию доступа, потому что в настоящее время у вас установлены 64-разрядные продукты Office», и попросил меня удалить компонент Office 16 Click-to-Run Extensibility Component. 64-битная регистрация. Поэтому я следовал указаниям здесь, чтобы удалить его, а затем установил драйвер. Моя программа снова заработала!

Понятия не имею, почему это сработало. Может обновление как-то напортачило? Кто знает. Надеюсь, это сработает для вас!

Запускает установщик и выбирает переустановить.

Работает на меня :).

ACEODBC.dll кажется заблокированным:

Я нашел в своем реестре:

[HKEY_LOCAL_MACHINE \ SOFTWARE \ ODBC \ ODBCINST.INI \ Драйвер Microsoft Access (* .mdb, * .accdb)] «Driver» = «C: \ Program Files (x86) \ Microsoft Office \ root \ VFS \ ProgramFilesCommonX86 \ Microsoft Shared \ Office16 \ ACEODBC.DLL "" Setup "=" C: \ Program Files (x86) \ Microsoft Office \ root \ VFS \ ProgramFilesCommonX86 \ Microsoft Shared \ Office16 \ ACEODBC.DLL "

Я вернул следующие 2 записи реестра к более старой версии JET: (это не лучшее решение, но было единственным, которое устранило проблему для меня).

[HKEY_LOCAL_MACHINE \ SOFTWARE \ ODBC \ ODBCINST.INI \ Драйвер Microsoft Access (* .mdb, * .accdb)] "Setup" = hex (2): 25,57,49,4e, 44,49,52,25,5c, 73,79,73,74,65,6d, 33,32,5c, 6f, 64,62 ,
63,6a, 74,33,32,2e, 64,6c, 6c, 00 «Драйвер» = шестигранник (2): 25,57,49,4e, 44,49,52,25,5c, 73,79,73,74,65,6d, 33,32,5c, 6f, 64,62 ,
63,6a, 74,33,32,2e, 64,6c, 6c, 00

Который в основном возвращается в '% WINDIR% \ system32 \ odbcjt32.dll'

Мой симптом заключался в том, что ODBC выполняет инструкцию REPAIR_DB. При вызове SQL программа полностью зависнет

Была точно такая же проблема.

Получилось то же самое при использовании \ Windows \ SysWow64 \ odbcad32.exe для «просмотра» установленных драйверов ODBC.

Я сделал то же самое; Ядро СУБД MS Access -> Изменить -> Переустановить -> Переустановить

Я полагаю, он вернется в следующий раз, когда Office будет "обновлен" . Спасибо, Microsoft!

Читайте также: