Поставщик Microsoft.ACE.OLEDB.14.0 не зарегистрирован на локальном компьютере. - PullRequest
2 голосов
/ 31 марта 2011

Я создал небольшое приложение WPF, которое будет читать файлы XLS или XLSX и отображать содержимое в сетке данных.У меня есть стороны XLS, работающие с использованием поставщика Microsoft.Jet.OLEDB.4.0.Я борюсь с XLSX стороной вещей.Я работаю под управлением Windows 7 (64-разрядная версия) и на моем компьютере установлен Office 2010 (64-разрядная версия).Я вижу версии OLEDB версий 14 и 12 в моих соединениях ODBC.Когда я запускаю строку подключения, она возвращает ошибку.Я прочитал многие посты без каких-либо успешных ответов, многие из них указывают на версию приложения, которая является x86.Я пробовал и 14.0 и 12.0 получить ту же ошибку с соответствующими номерами версий.

Строка подключения:
Provider = Microsoft.ACE.OLEDB.14.0; Источник данных = C: \ Users \ xxxxx \ Desktop \test.xlsx; Расширенные свойства = \ "Excel 14.0; HDR = Да; IMEX = 1 \"

Код:

using (OleDbConnection connection = new OleDbConnection(GetConnectionString()))
{
    connection.Open();
}

Ошибка:
Файл 'Microsoft.ACE.OLEDB.14.0 'провайдер не зарегистрирован на локальном компьютере.

Ответы [ 2 ]

0 голосов
/ 10 марта 2014

Из того, что я уже пытался решить, вы можете получить различные драйверы, зарегистрированные для 32-битных и 64-битных систем на 64-разрядной машине.демонстрация этого заключается в поиске администрирования ODBC из меню «Пуск» и сравнении 32-битных и 64-битных списков, когда вы можете добавить новый DSN

0 голосов
/ 14 июня 2011

У меня была такая же проблема. Я использую продукты Office 2010.

Мне пришлось загрузить компонент базы данных Office 2007 Access, чтобы заставить мое приложение работать.

Загрузите следующее:
http://www.microsoft.com/downloads/en/details.aspx?FamilyID=7554F536-8C28-4598-9B72-EF94E038C891&displaylang=en

...