Ужасный поставщик Microsoft.ACE.OLEDB.12.0 не зарегистрирован в Visual Studio 2017 - PullRequest
0 голосов
/ 25 марта 2019

Я получаю сообщение об ошибке «Поставщик« Microsoft.ACE.OLEDB.12.0 »не зарегистрирован на локальном компьютере» при выполнении следующих действий:

  1. запуск сообщества Visual Studio 2017
  2. из строки меню выберите: инструменты |подключиться к базе данных
  3. из диалогового окна выбрать: файл базы данных Microsoft Access (OLE DB)
  4. просмотреть для доступа к файлу базы данных 2013
  5. нажать «тестовое соединение»

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

У меня установлено следующее:

  • MicrosoftAccess 2013 x64
  • ядро ​​базы данных Microsoft Access 2016 x64
  • Microsoft Access Runtime 2013 x64

Запуск следующего скрипта powershell, похоже, подтверждает, что драйвер установлен:

PS C:\Users\zwrm1> (New-Object system.data.oledb.oledbenumerator).GetElements() | select SOURCES_NAME, SOURCES_DESCRIPTI
ON

SOURCES_NAME               SOURCES_DESCRIPTION
------------               -------------------
SQLOLEDB                   Microsoft OLE DB Provider for SQL Server
MSOLAP                     Microsoft OLE DB Provider for Analysis Services 11.0
MSOLAP                     Microsoft OLE DB Provider for Analysis Services 11.0
MSDataShape                MSDataShape
SQLNCLI11                  SQL Server Native Client 11.0
Microsoft.ACE.OLEDB.12.0   Microsoft Office 12.0 Access Database Engine OLE DB Provider
Microsoft.ACE.OLEDB.15.0   Microsoft Office 15.0 Access Database Engine OLE DB Provider
Microsoft.ACE.OLEDB.16.0   Microsoft Office 16.0 Access Database Engine OLE DB Provider
ADsDSOObject               OLE DB Provider for Microsoft Directory Services
SQLNCLI11 Enumerator       SQL Server Native Client 11.0 Enumerator
Windows Search Data Source Microsoft OLE DB Provider for Search
MSDASQL                    Microsoft OLE DB Provider for ODBC Drivers
MSDASQL Enumerator         Microsoft OLE DB Enumerator for ODBC Drivers
SQLOLEDB Enumerator        Microsoft OLE DB Enumerator for SQL Server
MSDAOSP                    Microsoft OLE DB Simple Provider
MSOLAP                     Microsoft OLE DB Provider for Analysis Services 13.0
MSOLAP                     Microsoft OLE DB Provider for Analysis Services 13.0

Как я могу исправить эту ошибку и успешно открыть свою базу данных доступа в сообществе visual studio 2017?

Спасибо за любые мысли, zwrm1

1 Ответ

0 голосов
/ 25 марта 2019

Кажется, Visual Studio 2017 является 32-битным приложением и может «видеть» только 32-битные источники данных.

Мне не удалось установить 32-разрядные драйверы прямым способом, потому что 32-разрядный установщик драйверов не позволит вам запустить его, если у вас установлен 64-разрядный офис (что я делаю, и я нея не хочу возвращаться в 32-битный офис).

Однако из других сообщений я понял, что 32-битный пакет Access Runtime 2010 может быть установлен вместе с 64-битным офисом, если используется флаг / passive.(FWIW, я думаю, что я сначала протестировал пакет времени выполнения доступа 2013 года и не смог заставить его установить 32-разрядные драйверы вместе с 64-разрядными драйверами).

Как только я установил 32-разрядные драйверы, VS смог увидеть мойисточники данных и все работает хорошо.

...