Microsoft.Jet.OLEDB.4.0 провайдер не зарегистрирован
Привет, я получаю такую проблему при загрузке файла типа.xls "Ошибка в файле Excel: поставщик" Microsoft.Jet.OLEDB.4.0 "не зарегистрирован на локальном компьютере".
Я использую следующие версии системы:
- 64-разрядная операционная система (Windows 7).
- 32-битный офис, к которому я прикрепил снимок экрана.
- Попытка их для. ASPX страниц в C#.
Я пробовал следующее:
Загрузка 32- и 64-разрядных версий Microsoft.Jet.OLEDB.4.0 с http://www.microsoft.com/download/en/details.aspx?displaylang=en&id=13255.
Попробовал IIS Edit Application Pool > Расширенные настройки> Включить 32-битные приложения:True.
Но они оба не работают для меня. У кого-нибудь есть идея?
Содержимое упомянутого изображения находится здесь:
Microsoft Office профессиональный плюс 2010
Версия: 14.0.4760.1000(32-разрядная версия)
4 ответа
Если вы установили 32-разрядную версию Office, то вам нужно установить 64-разрядную версию Access Database Engine 2010 на компьютере, но для ее установки есть хитрость. Смотрите здесь о "пассивном" аргументе: Microsoft Access Database Engine 2010 распространяемый
Вам необходимо установить Microsoft Access Database Engine Redistributable
в вашей (целевой) машине и строка подключения должна быть изменена соответственно.
Обратитесь к следующим ссылкам:
http://blogs.msdn.com/b/farukcelik/archive/2010/06/04/accessing-excel-files-on-a-x64-machine.aspx
http://www.microsoft.com/download/en/details.aspx?id=13255
Надеюсь это поможет...
По умолчанию.NET-программа компилируется в любой процессор, который переводится в 64-битный во время выполнения. Для 64-битной версии по умолчанию драйвер не установлен.
Одним из распространенных решений является явная компиляция для x86, так что программа использует 32-битную OLEDB.
OleDB не имеет никаких 64-битных драйверов (это раздражает, я знаю), и 32-битные драйверы не совместимы с 64-битной ОС AFAIK
http://social.msdn.microsoft.com/Forums/en-GB/netfx64bit/thread/d2d33cfd-ed81-490a-906e-b9e29d572b59
Редактировать: вы используете 32-битный офис... который должен работать с 32-битными драйверами. Игнорируйте этот пост тогда.