Лучший отвечающий
C# и Microsoft.Ace.OLEDB.12.0

Вопрос
-
Есть необходимость работать в приложении на C# с базой данных MS Access.
connection = new OleDbConnection("Provider=Microsoft.Ace.OLEDB.12.0;Data Source=" + file);
На ПК установлен Office 365 2016, VS Community 2015. При любой попытке подключиться через Microsoft.Ace.OLEDB.12.0 к БД выдаёт ошибку, что не зарегистрировано на текущем компьютере. Я искал в интернете решение, нашёл сайт http://www.microsoft.com/en-us/download/details.aspx?id=13255&lc=ru-ru, скачал и установил приложение. Но после установки всё равно выдаёт ошибку при подключении.
connection.Open(); //Необработанное исключение типа "System.InvalidOperationException" в System.Data.dll5 декабря 2015 г. 12:54
Ответы
-
Тогда посмотрите тут:
http://www.mikesdotnetting.com/article/280/solved-the-microsoft-ace-oledb-12-0-provider-is-not-registered-on-the-local-machine
Обратите внимание на то что провайдер бывает 32 и 64 битным. Если у вас 64 битное приложение то вам нужна 64 битная версия и наоборот.
This posting is provided "AS IS" with no warranties, and confers no rights.
- Помечено в качестве ответа Maksim MarinovMicrosoft contingent staff, Moderator 4 января 2016 г. 11:19
6 декабря 2015 г. 18:19Модератор
Все ответы
-
Попробуйте так:
Provider = Microsoft.Jet.OLEDB.4.0
Так же попробуйте следовать данной инструкции:
https://msdn.microsoft.com/en-us/library/5ybdbtte(v=vs.90).aspx
This posting is provided "AS IS" with no warranties, and confers no rights.
5 декабря 2015 г. 17:55Модератор -
Попробовал с новым провайдером. А инструкцию из ссылки пробовал ранее, но не сказал об этом в вопросе.
К сожалению, метод Open() и данный способ выдают ошибку "Нераспознаваемый формат базы данных:"
Сейчас попробовал сохранить БД в формате *.mdb, заработало подключение. Но надо работать с форматом *.accdb.- Изменено СергейВладимирович 6 декабря 2015 г. 9:40
6 декабря 2015 г. 9:21 -
Тогда посмотрите тут:
http://www.mikesdotnetting.com/article/280/solved-the-microsoft-ace-oledb-12-0-provider-is-not-registered-on-the-local-machine
Обратите внимание на то что провайдер бывает 32 и 64 битным. Если у вас 64 битное приложение то вам нужна 64 битная версия и наоборот.
This posting is provided "AS IS" with no warranties, and confers no rights.
- Помечено в качестве ответа Maksim MarinovMicrosoft contingent staff, Moderator 4 января 2016 г. 11:19
6 декабря 2015 г. 18:19Модератор