64-разрядный механизм выполнения Microsoft Access выдает ошибку при доступе к файлу .accdb - PullRequest
0 голосов
/ 09 октября 2018

У моего приложения есть файл базы данных доступа (.accdb), и ранее мы поддерживали 32-разрядную версию файла доступа .accdb с 32-разрядной подсистемой выполнения MS Access 2013, которая до сих пор работала нормально.

Но теперь мынеобходимо поддерживать 64-разрядную версию файла db для доступа (.accdb), для этого я создал новый файл .accdb в 64-разрядной версии MS Access (установлен через Office 365 pro) и импортировал все таблицы из существующего файла базы данных в новуюФайл базы данных и попытался запросить базу данных, но в итоге с этой ошибкой «Поставщик« Microsoft.ACE.OLEDB.12.0 »не зарегистрирован на локальном компьютере»

Ниже приведеныполные сведения:

Сведения о машине: 64-разрядная версия Windows 7, 64-разрядная версия MS Office 365 pro, 64-разрядная версия среды выполнения MS Access 2013, среда сборки, выбранная как 32-разрядная

Детали моего приложения:

  • Работающая платформа: Любой ЦП
  • Строка подключения .accdb: "Поставщик = Microsoft.ACE.OLEDB.12.0; Источник данных = C: \ ApplicationData \ Data \Temp.accdb; Persist Security Info = True "

Также я пытался изменить детали провайдера, такие как OLEDB.13.0, OLEDB.14.0, OLEDB.15.0, OLEDB.16.0 и т.д ...

Я перепробовал все способы, но не знаю, почему я получаю этот провайдер не зарегистрировано ошибка.

1 Ответ

0 голосов
/ 30 ноября 2018

Спасибо всем за помощь.Наконец-то я нашел проблему для своей проблемы.

На самом деле я получаю ошибку, потому что приложение, которое я использую, файл базы данных ACCDB работает на 32-битной платформе, и поэтому япоявляется сообщение об ошибке типа «Поставщик« Microsoft.ACE.OLEDB.12.0 »не зарегистрирован на локальном компьютере».

После обновления платформы сборки с 32-разрядной на AnyCPU все работает нормально.

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