"Поставщик" Microsoft.Jet.OLEDB.4.0 "не зарегистрирован на локальном компьютере"...DNN

Я пытаюсь запустить и запустить новый сайт DotNetNuke на нашем 64-битном сервере, и у меня появляется следующее сообщение об ошибке:

"Поставщик" Microsoft.Jet.OLEDB.4.0 "не зарегистрирован на локальном компьютере"

По опыту я знаю, что вы сталкиваетесь с этим, когда нацеливаетесь на 64-битную сборку на 64-битной машине (в настоящее время нет 64-битного поставщика OLE-DB). В этом случае я просто нацеливаюсь на x86 в Visual Studio, и все работает отлично.

Но в этом случае сайт использует динамическую компиляцию, поэтому нет простого места для указания того, что мне нужно для таргетинга на x86. Какие-нибудь мысли?

ТИА.

3 ответа

Решение

Вы можете изменить пул приложений, под которым вы запускаете этот сайт, чтобы он работал как 32-битное приложение. В диспетчере IIS7 в разделе "Расширенные настройки" пула приложений установите для "Включить 32-разрядные приложения" значение true.

Вы также можете сделать это с помощью AppCmd из консоли:

appcmd apppool set /apppool.name:MyNukeSite /enable32BitAppOnWin64:true

В IIS6 - вы можете попробовать что-то вроде этого (2 строки здесь, запустить aspnet_regiis, когда закончите изменять значение метабазы)...

cscript %SystemDrive%\inetpub\AdminScripts\adsutil.vbs set w3svc/AppPools/Enable32bitAppOnWin64 1
aspnet_regiis.exe -i

Смотрите следующее для получения дополнительной информации:

Привет, теперь Microsoft выпустила 2010 бета-версию драйвера системы Office: компоненты подключения к данным, которые поддерживаются как в 32-битной, так и в 64-битной ОС. Поэтому использование этого драйвера вместо традиционного драйвера Microsoft.Jet.OLEDB.4.0 даст нам 64-битное приложение, работающее на 64-битном сервере (это то, что нам действительно нужно).

Хотя это в бета-версии, он работал нормально для меня.

Вы можете загрузить этот драйвер из 2010 бета-версии драйвера системы Office: Компоненты подключения к данным

Thnks

Вы не должны пытаться нацелить ваше приложение на 32-битную версию, в этом случае вы теряете преимущества использования 64-битной системы. Как уже указывалось в aaa, вы можете использовать последнюю версию Access Database Engine 2010 для решения этой проблемы. Пожалуйста, обратитесь к моему сообщению в блоге для полного решения.

Надеюсь, поможет.

Другие вопросы по тегам