Когда вы используете 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]