Компьютерный форум OSzone.net  

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   Microsoft Windows 8 и 8.1 (http://forum.oszone.net/forumdisplay.php?f=116)
-   -   Unable to load odbcji32.dll (http://forum.oszone.net/showthread.php?t=340354)

AleksP 01-05-2019 21:06 2869933

Unable to load odbcji32.dll
 
Здравствуйте!

При работе с драйвером ODBC появляется сообщение об ошибке: Unable to load odbcji32.dll. Dll находится в папке \Windows\sysWOW64.



Я пробовал разрегистрировать и зарегистрировать библиотеку снова, но получаю другое сообщение об ошибке: Модуль "odbcji32.dll" загружен, но точка входа DllRegisterServer не найдена.



Я вхожу под учетной записью с правами Администратора, но все операции с файлом odbcji32.dll заблокированы.

Подскажите, пожалуйста, как можно решить проблему?

Petya V4sechkin 01-05-2019 22:11 2869957

Цитата:

Цитата AleksP
Dll находится в папке \Windows\sysWOW64

Это для 32-битных приложений.

А у вас 64-битное приложение?

AleksP 02-05-2019 09:23 2869987

Mathworks Matlab R2017b x64.

В папке \Windows\sysWOW64 находится версия odbcji32.dll 6.3.9600.17415.

Мне удалось найти в интернете версию 4.0.6305.0, но нигде нет указаний о ее разрядности.

Petya V4sechkin 02-05-2019 11:11 2869995

Цитата:

Цитата AleksP
Мне удалось найти в интернете версию 4.0.6305.0

Не надо искать файл.

Лучше поищите по запросу Unable to load odbcji32.dll - там понятно, что дело не в файле.

AleksP 02-05-2019 11:25 2869996

Я попробовал все способы, которые нашлись по этому запросу, поэтому и обратился на форум, что ничего не помогло.
Например, восстановление AccessDatabaseEngine_X64 в Панели управления не происходит, потому что он сразу удаляется.
Пробовал даже запускать regsvr32.exe из директорий \System32 и \SysWOW64 через Командная строка (Администратор).

Petya V4sechkin 02-05-2019 11:55 2870000

AleksP, можете сделать лог Process Monitor следующим образом:
  1. запустите Process Monitor;
  2. попытайтесь запустить MATLAB, чтобы получилась ошибка;
  3. сохраните лог: меню File -> Save -> PML-формат;
  4. заархивируйте и выложите на файлообменник, например dropmefiles.com.

AleksP 02-05-2019 12:26 2870002

Ошибка возникает даже при запуске Панель управления -> Источники данных ODBC (64-разрядная версия) при попытке настроить MS Access Database.

Смоделировал ее таким образом, лог файл загрузил по ссылке https://yadi.sk/d/9gCqUQqiYLqz3g.

Petya V4sechkin 02-05-2019 14:38 2870011

AleksP, в логе проблема с файлом ACEWSTR.DLL из-за того, что у вас установлены 32-битные компоненты в папке C:\Program Files (x86)\Common Files\Microsoft Shared\OFFICE14.

Панель управления -> Программы и компоненты -> удалите Microsoft Access Database Engine 2010.
Затем переустановите по ссылке Microsoft Access Database Engine 2010 Redistributable версию x64.

AleksP 02-05-2019 15:31 2870019

Petya V4sechkin, я удалял этот компонент вчера, а потом установил снова AccessDatabaseEngine_X64.

Делал это через командную строку с правами Администратора с опцией /passive с последующим удалением mso.dll в ветке реестра HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Office\14.0\Common\FilesPaths.

Если этого не делать, то при установке возникает сообщение об ошибке:



Это не помогло. Возможно другое решение проблемы?

Petya V4sechkin 02-05-2019 17:22 2870039

AleksP, у вас установлены 32-битные компоненты
C:\Program Files (x86)\Common Files\Microsoft Shared\OFFICE14

Office какой? Удалять/переустанавливать пробовали?

AleksP 03-05-2019 00:24 2870086

Petya V4sechkin, установлено следующее программное обеспечение:

1) Windows 8.1 64-разрядная, процессор x64.
2) Office профессиональный плюс 10, 32-разрядная версия.
3) Mathworks Matlab R2017b x64.

Я нигде не видел непосредственного запрета на совместное использование 32-х и 64-х разрядных компонент.
Вопрос в том и состоит, как это можно настроить без переустановки Office.

AleksP 03-05-2019 09:37 2870102

Petya V4sechkin,

Еще раз полностью удалил Microsoft Access Database Engine 2010 и установил AccessDatabaseEngine_X64.exe.
В Администрирование -> Источник данных ODBC (32-разрядная и 64-разрядная версии) после этого появляется совместимость с 64-разрядными драйверами, которой не было до установки AccessDatabaseEngine_X64.exe




Есть путаница с рабочими директориями Источников данных. Сейчас пути выглядят следующим образом:




Если пробовать подключить базу в Matlab через Database Explorer -> Configure Data Source -> Configure ODBC data source по-прежнему появляется сообщение об ошибке:


Petya V4sechkin 03-05-2019 09:42 2870103

AleksP, можете сделать лог Process Monitor при попытке подключить базу в MATLAB.

Цитата:

Есть путаница с рабочими директориями Источников данных. Сейчас пути выглядят следующим образом:
Где именно путаница?

AleksP 03-05-2019 11:48 2870127

Petya V4sechkin, возможно, что я не прав, но мне кажется странным, что 32-разрядный источник данных ODBC указывает на папку \sysWOW64, а 64-разрядный на папку \system32. Разве не должно быть наоборот?

https://yadi.sk/d/8rAlK3P8vuXdbw - сгенерировал ошибку в Matlab.
При запуске Database Explorer -> Configure Data Source -> Configure ODBC data source, открывается 64-разрядная версия источника данных ODBC, но при нажатии на кнопку Добавить дважды возникает ошибка: Unable to loаd odbcji32.dll.

Petya V4sechkin 03-05-2019 11:57 2870128

AleksP, в 64-разрядной системе в папке SysWOW64 лежат 32-разрядные файлы, а в папке System32 - 64-разрядные.
Что означает аббревиатура WOW64

Цитата:

сгенерировал ошибку в Matlab
Лог повреждён: The file (Logfile_Matlab.PML) is corrupt and cannot be opened.

AleksP 03-05-2019 12:28 2870133

Petya V4sechkin, пересоздал лог.

https://yadi.sk/d/conscLLzRmLMrw

Petya V4sechkin 03-05-2019 13:18 2870139

AleksP, в обоих логах ситуация аналогичная: C:\Windows\System32\odbcad32.exe (это 64-битный процесс, не обращайте внимания на циферки в имени) смотрит на библиотеку
C:\Program Files (x86)\Common Files\Microsoft Shared\OFFICE14\1049\ACEWSTR.DLL
и далее вместо Load Image начинает искать её в системных папках и в PATH - это означает, что библиотека чем-то не нравится приложению (в данном случае не подходит по разрядности).

Перед этим остальные библиотеки ACE (ACECORE.DLL, ACEERR.DLL, ACEODBC.DLL) нормально загружаются из папки с 64-битными файлами
C:\Program Files\Common Files\microsoft shared\OFFICE14

По-видимому, 32-битный компонент Access Database Engine в составе Microsoft Office 2010 конфликтует с отдельно установленным Access Database Engine 2010 x64.

Ну не могут 64-битные приложения загружать 32-битные библиотеки.

AleksP 03-05-2019 13:30 2870140

Petya V4sechkin, Какое может быть решение?

Можно попробовать переустановить отдельно библиотеку ACEWSTR.DLL?

Уж больно не хочется переустанавливать полностью Office.

Petya V4sechkin 03-05-2019 13:45 2870141

Цитата:

Цитата AleksP
Уж больно не хочется переустанавливать полностью Office.

Не хотите - не переустанавливайте, проблема-то ваша :)
Можно и не полностью, а по очереди удалить Access, средства Office, общие средства Office и проверить работоспособность MATLAB.

Цитата:

Цитата AleksP
Можно попробовать переустановить отдельно библиотеку ACEWSTR.DLL?

Нет смысла, там ведь не только она, но и ACEINTL.DLL и ACEODBCI.DLL, например.

Кстати, поищите, в каких папках ACEWSTR.DLL, ACEINTL.DLL, ACEODBCI.DLL лежат.

AleksP 03-05-2019 17:46 2870218

Petya V4sechkin, Microsoft Access удалил, но ошибка осталась.

Файлы ACEWSTR.DLL, ACEINTL.DLL, ACEODBCI.DLL находятся в папке C:\Program Files (x86)\Common Files\Microsoft Shared\OFFICE14\1049.

Petya V4sechkin 03-05-2019 19:36 2870257

AleksP, а в папке
C:\Program Files\Common Files\Microsoft Shared\OFFICE14\1033
их нет?

Цитата:

Microsoft Access удалил
Ещё компоненты:
  1. Средства Office
  2. Общие средства Office

AleksP 03-05-2019 21:08 2870296

Petya V4sechkin, в папке C:\Program Files\Common Files\Microsoft Shared\OFFICE14\1033 они тоже есть.

Компоненты Средства Office и Общие средства Office не удаляются полностью даже после удаления Microsoft OneNote.

Petya V4sechkin 03-05-2019 22:24 2870297

AleksP, можете просто удалить Office? Затем убедиться, что в папке
C:\Program Files (x86)\Common Files\Microsoft Shared\OFFICE14\1049
нет больше ACE* файлов.
Затем установить 64-битный Office.

AleksP 03-05-2019 22:55 2870301

Petya V4sechkin, Наверное, это самое простое и можно было сделать сразу, а мы уже потратили без малого неделю на обсуждение. ;-)

Так может все-таки проще в качестве эксперимента удалить ACE* файлы из папки C:\Program Files (x86)\Common Files\Microsoft Shared\OFFICE14\1049, предварительно сделав их резервную копию?

AleksP 04-05-2019 09:51 2870327

Petya V4sechkin, Удаление файлов ACEWSTR.DLL, ACEINTL.DLL, ACEODBCI.DLL их папки C:\Program Files (x86)\Common Files\Microsoft Shared\OFFICE14\1049 решило проблему.

Сообщение об ошибке больше не появляется и база данных загружается в Matlab.

Правда, Microsoft Access не работает без этих библиотек и если его переустановить/запустить, они снова появляются.

Это можно решить без переустановки Office?

AleksP 04-05-2019 10:20 2870331

Petya V4sechkin, Попутно в Excel появилась еще одна проблема, которая может быть и не связана с Access.

При запуске Excel появляется сообщение об ошибке:



Полная переустановка Excel ничего не дала, как и восстановление Office.
Конечно, можно работать и с этой ошибкой, нажимая на отмену предложений установки.
Возможно, эту ошибку тоже можно как-нибудь устранить?

Petya V4sechkin 04-05-2019 12:54 2870356

AleksP, у вас есть какие-то причины не устанавливать 64-битный Office вместо 32-битного?

AleksP 04-05-2019 13:44 2870360

Petya V4sechkin, Какую версию порекомендуете в моем случае?


Время: 05:26.

Время: 05:26.
© OSzone.net 2001-