Не удается установить подключение к OLE DB ядра СУБД Access
В этой статье описывается решение проблемы, из-за которой невозможно установить подключение к OLE DB ядра СУБД Access в Microsoft Power Automate для компьютеров.
Применимо к: Power Automate
Исходный номер базы знаний: 5004577
Симптомы
Рассмотрим следующий сценарий в Microsoft Power Automate для компьютеров:
- Поставщик OLE DB для access Database Engine не отображается в списке Свойств канала данных при установке подключения к действиям базы данных.
- При использовании строка подключения напрямую может появилось следующее сообщение об ошибке:
Не удается подключиться к источнику данных Microsoft.ACE.OLEDB.1x.0. поставщик не зарегистрирован на локальном компьютере.
Причина
Это сообщение об ошибке возникает из-за того, что на компьютере не установлен соответствующий 64-разрядный драйвер. Обратите внимание, что Power Automate для компьютеров основана на 64-разрядной архитектуре и поэтому совместима только с 64-разрядными драйверами базы данных.
Разрешение
Убедитесь, что на компьютере установлен 64-разрядный драйвер базы данных Access, перейдите в приложение «Администратор источника данных ODBC ( 64-разрядная версия) в Windows, а затем перейдите на вкладку Драйверы . Если вы не видите в списке «Драйвер Microsoft Access», необходимо скачать и установить 64-разрядную версию из распространяемого ядра СУБД Microsoft Access 2016.
Если в ваших окнах установлена 32-разрядная версия Office и вы не можете выполнить обновление до 64-разрядной версии Office, прочитайте оставшуюся часть статьи.
Выполните следующие действия, чтобы на компьютере существовали как 32-разрядные, так и 64-разрядные драйверы Access.
- Удалите все версии драйверов Access с компьютера.
- Перейдите в редактор реестра на рабочем столе (его можно найти в строке поиска) и перейдите по обоим приведенным ниже путям, если они существуют: HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Office\14.0\Common\FilesPaths HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Office\16.0\Common\FilesPaths
- Проверьте, присутствует ли раздел реестра mso.dll в обоих указанных выше путях. Если ключ присутствует, это означает, что вы удалили не все драйверы. Проверьте драйверы в системе и удалите все драйверы Access и еще раз проверьте пути редакторов реестра, упомянутые на шаге 2.
- Скачайте новую версию ядра СУБД Microsoft Access с официального веб-сайта Майкрософт, а затем установите 64-разрядный драйвер с помощью командной строки (CMD) с помощью команды AccessDatabaseEngine_x64.exe /quiet для распространяемого компонента 2016.
- Назад редактор реестра и удалить раздел реестра «mso.dll» и его значение по следующему пути:
- HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Office\16.0\Common\FilesPaths
Наконец, установите 32-разрядный драйвер с помощью командной строки (CMD) с командой AccessDatabaseEngine.exe /quiet для распространяемого компонента 2016. Это позволит 32-разрядным и 64-разрядным драйверам совместно существовать на компьютере.
Обратная связь
Были ли сведения на этой странице полезными?
Не удается использовать интерфейсы ACCESS ODBC, OLEDB или DAO вне приложений Office «нажми и запускай»
При попытке создать ИМЯ DSN ODBC для драйверов, предоставляемых Microsoft Access в администраторе ODBC Источников данных, попытка завершается ошибкой. Эта проблема возникает, если вы используете установку Office «нажми и запускай» (C2R), которая не предоставляет ядро СУБД Access за пределами пузырька виртуализации Office. В зависимости от версии Office при попытке выполнить эту операцию может возникнуть любая из следующих проблем:
- Драйверы ODBC, предоставляемые ACEODBC.DLL, не перечислены в диалоговом окне Выбор драйвера .
- Появляется сообщение об ошибке «Операционная система в настоящее время не настроена для запуска этого приложения».
- Появляется сообщение об ошибке «Не удалось загрузить odbcji32.dll».
- Вы получите сообщение «Драйвер этого dsn пользователя не существует. Его можно удалить только с сообщением об ошибке вместе с платформой, показывающей Н/Д.
- Microsoft Access Driver (*.mdb, *.accdb)
- Microsoft Access Text Driver (*.txt, *.csv)
- Драйвер Microsoft Excel (*.xls, *.xlsx, *.xlsm, *.xlsb)
Кроме того, при попытке определить подключение OLEDB из внешнего приложения (работающего за пределами Office) с помощью поставщика OLEDB Microsoft.ACE.12.0 или Microsoft.ACE.OLEDB.16.0, при попытке подключиться к поставщику возникнет ошибка «Поставщик не найден».
Причина
Установки Office нажми и работай выполняются в изолированной виртуальной среде в локальной операционной системе. Некоторые приложения за пределами Office могут не знать, где искать установку в изолированной среде.
Разрешение
Начиная с Приложения Microsoft 365 для Enterprise версии 2009, были завершены работы по выходу ACE из пузырька виртуализации C2R, чтобы приложения за пределами Office могли находить интерфейсы ODBC, OLEDB и DAO, предоставляемые ядром СУБД Access в установке C2R.
Используйте следующую таблицу, чтобы понять, необходимы ли дополнительные компоненты для доступа к этим интерфейсам в вашей среде.
Текущая установка Office | Необходимые дополнительные компоненты | Рекомендуемая дополнительная установка |
---|---|---|
Приложения Microsoft 365 для бизнеса, Office 2016/2019/2021 для потребителей версии 2009 или более поздней | Нет | — |
Office LTSC 2021 г. (корпоративная лицензия) | Нет | — |
Office 2016/2019 Pro plus C2R (корпоративная лицензия) | Да | Обновление до Office LTSC 2021 (корпоративная лицензия) или установка среды выполнения Microsoft Access 2013 |
Office 2010/2013/2016 MSI | Нет | — |
Установка Office отсутствует | Да | Microsoft 365 Access Runtime |
- Распространяемый компонент Ядра СУБД Microsoft Access 2016 не предоставляется в качестве рекомендуемой установки, так как в ядре СУБД Access 2016 и Приложения Microsoft 365 используется один и тот же основной идентификатор версии (16.0), что может привести к непредвиденному поведению. Параллельное обнаружение Office также помешает продолжить установку при обнаружении этого сценария.
Дополнительные сведения о создании подключений ODBC
Все экземпляры Office нажми и запуском не могут создать имена источников данных компьютера или системы из приложения Office или администратора ODBC источников данных.
Обратная связь
Были ли сведения на этой странице полезными?
«Ядро СУБД Microsoft Office Access не может найти входную таблицу» при попытке открыть таблицу в шаблоне Access 2010
В этом случае появляется следующее сообщение об ошибке:
The Microsoft Office Access database engine cannot find the input table or query 'MSysBDCMetadata'. Make sure that it exists and that its name is spelled correctly.
Причина
Эта проблема возникает из-за того, что системные таблицы BDC, с которыми вы связали, не включены в шаблон, сохраненный из базы данных.
Обходной путь
Корпорация Майкрософт предоставляет примеры программирования только в целях демонстрации без явной или подразумеваемой гарантии. Данное положение включает, но не ограничивается этим, подразумеваемые гарантии товарной пригодности или соответствия отдельной задаче. Эта статья предполагает, что пользователь знаком с представленным языком программирования и средствами, используемыми для создания и отладки процедур. Инженеры службы поддержки Майкрософт могут объяснить функциональность отдельной процедуры. обязаны изменять примеры для реализации дополнительных возможностей или удовлетворения требований конкретных пользователей.
Чтобы обойти эту проблему, выполните указанные ниже действия.
- В Access 2010 создайте пустую базу данных.
- На вкладке Внешние данные в раскрывающемся списке Дополнительно , который находится в группе Импорт данных & , щелкните Службы данных.
- В диалоговом окне Создание связи со службами данных щелкните Установить новое подключение.
- Выберите исходный XML-файл, определяющий подключение, и нажмите кнопку Открыть.
- Нажмите кнопку Закрыть.
- На вкладке Работа с базами данных в группе Макросы щелкните Visual Basic.
- В меню Вставка выберите пункт Модуль.
- В новом модуле добавьте следующий код.
'// Set all the MSysBDC* system tables so that they become visible to Save As Template '// This should only be needed as soon as in the database that will be used to create the template (accdt) Sub PrepareBDCTables() Dim db As Database, tbl As TableDef Set db = CurrentDb For Each tbl In db.TableDefs If tbl.Name Like "MSysBDC*" Then '//Set all the bdc tables so that they are visible to the save as template wizard tbl.Attributes = 0 End If Next End Sub
Обратная связь
Были ли сведения на этой странице полезными?
Установка 64-разрядного ядра СУБД Microsoft Access
В этой статье описывается установка 64-разрядного ядра СУБД Microsoft Access на компьютере с 32-разрядной версией Microsoft Office (2007, 2010 или 2013).
При попытке установки появляется ошибка, аналогичная приведенной ниже (например, в версии 2010 для версии 2016):
Установка ядра СУБД Microsoft Access 2010 (на английском языке)
Невозможно установить 64-разрядную версию ядра СУБД Microsoft Access 2010, так как в настоящее время установлены 32-разрядные программы. Если требуется установить 64-разрядную версию ядра СУБД Microsoft Access 2010, сначала необходимо удалить 32-разрядную версию установки продуктов Office. После удаления следующих программ перезапустите программу установки 64-разрядной версии ядра СУБД Microsoft Access 2010: Microsoft Office Professional Plus 2010
Причины [ править | править код ]
Microsoft не поддерживает параллельную установку 32- и 64-разрядных версий Microsoft Office и их зависимых компонентов.
Решение [ править | править код ]
Выполните следующие действия.
- Откройте редактор реестра (введите regedit в поле поиска Windows в меню «Пуск» и выберите regedit.exe).
- Перейдите к ключам реестра:
- для MS Database Engine 2010: HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Office\14.0\Common\FilesPaths
- для MS Database Engine 2016: HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Office\16.0\Common\FilesPaths
- Проверьте наличие значения mso.dll. Это значение раздела реестра будет присутствовать, если на компьютере установлена 64-разрядная версия Microsoft Office. Если ключ отсутствует, выполните следующие действия.
- Откройте командную строку, введя cmd в поле поиска Windows в меню «Пуск» и выбрав cmd.exe
- Введите путь и имя файла установки 64-разрядного ядра СУБД Access 2010 или 2016, пробел и /quiet (установка выполняется без отображения сообщений).
AccessDatabaseEngine_x64.exe /quiet
- Откройте редактор реестра, введя regedit в поле поиска Windows в меню «Пуск» и выбрав regedit.exe
- Удалите или переименуйте значение реестра mso.dll в следующем ключе реестра:
- HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Office\14.0\Common\FilesPaths
- HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Office\16.0\Common\FilesPaths
- Если не удалить значение реестра «mso.dll», то при каждом открытии приложения Office будет появляться сообщение о перенастройке.
- Это решение может быть временным, поскольку корпорация Майкрософт будет отправлять обновления для Office и его компонентов через Центр обновления Windows. Учитывая, что 64-разрядное программное обеспечение Autodesk несовместимо с 32-разрядными компонентами Office, постоянным решением будет установка 64-разрядного программного обеспечения Autodesk вместе с 64-разрядной версией Office.