none
Решение не работает на 64х битной системе с ошибкой Microsoft.Jet.OLEDB.4.0 provider is not registered on the local machine” и “Microsoft.ACE.OLEDB.12.0 provider is not registered on the local machine” RRS feed

  • Общие обсуждения

  • Когда вы используете ACE или OLEDB провайдера для доступа к файлам баз данных Microsoft Office, таких как Excel и Access, вы можете столкнуться с ошибкой “provider is not registered on the local machine” на 64 битной системе, даже если провайдер на самом деле зарегистрирован правильно.

    Проблема в том, что вы компилируете свое решение как “Any CPU”. По умолчанию решение на 64х битной системе будет работать как 64х битный процесс, а оба JET и ACE OLEDB провайдера существуют только в x86 версии. 64х битный процесс не может загрузить x86 компоненты, поэтому и происходит такая ошибка.

    Решение заключается в настройки компилятора для построения x86 решения, который компилирует приложение как x86 исполняемый файл и запускает процесс как x86.

    Если у вас ASP.NET приложение, размещенное на сервере IIS, то убедитесь что хост-процесс w3wp.exe выполняется как x86 процесс, вам нужно настроить пул приложения в 32х разрядный режим. Больше информации об этом вы можете узнать из статьи 32-bit Mode Worker Processes

    Стоит отметить, что 2010 Microsoft Office предоставляет x64 провайдер ACE OLEDB - Microsoft Access Database Engine 2010 Redistributable

     


    Для связи [mail]
    8 апреля 2011 г. 11:54

Все ответы

  • Необходимо установить офисный системный драйвер AccessDatabaseEngine.exe  http://remotehelper.ru/administrirovanie/oshibka-pri-importe-excel-v-ms-sql-postavshhik-oledb-12-0-ne-zaregistrirovan-na-lokalnom-kompyutere
    • Изменено Nikwait 14 февраля 2018 г. 13:15
    14 февраля 2018 г. 13:14