none
C# и Microsoft.Ace.OLEDB.12.0 RRS feed

  • Вопрос

  • Есть необходимость работать в приложении на C# с базой данных MS Access.
    На ПК установлен 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 = new OleDbConnection("Provider=Microsoft.Ace.OLEDB.12.0;Data Source=" + file);
    connection.Open(); //Необработанное исключение типа "System.InvalidOperationException" в System.Data.dll
    5 декабря 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.

    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: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.

    6 декабря 2015 г. 18:19
    Модератор