Это скорее информационный пост для тех, кто может столкнуться с этой проблемой (и для себя, если у меня возникнет та же проблема в будущем, и я не могу вспомнить решение :-))
Это немного неясно, но вызвало у меня несколько часов стресса, так что, может быть, это поможет кому-то еще ... Извините, если это повторяется (не удалось найти) или устарело (некоторые не могут позволить себе роскошь последних и самых больших ).
Если вы пытаетесь использовать Jet 4.0 для доступа к документам MS Excel (или другим файлам данных) на сервере x64, вы обнаружите, что эта комбинация не поддерживается.
Единственное решение - разрешить IIS запускать 32-разрядные приложения в Windows 64 и установить поддерживаемый поставщик БД.
Вам потребуется установить драйвер 64-битного поставщика OLEDB для ODBC (MSDASQL), который действует как мост:
«Поставщик Microsoft OLE DB для ODBC (MSDASQL) - это технология, которая позволяет приложениям, построенным на OLEDB и ADO (который использует OLEDB для внутреннего использования), обращаться к источникам данных через драйвер ODBC. MSDASQL - это поставщик OLEDB, который подключается к ODBC. базы данных. MSDASQL поставляется с операционной системой Windows, а Windows Server 2008 и Windows Vista SP1 являются первыми выпусками Windows, включающими 64-разрядную версию технологии ».
Скачать здесь: http://www.microsoft.com/downloads/details.aspx?FamilyID=000364db-5e8b-44a8-b9be-ca44d18b059b&displaylang=en
Все это прекрасно работает, но я столкнулся с двумя вещами, которые заставляли меня чесать голову (и подчеркивать):
1) Необходимо разрешить 32-разрядный ASP.Net в расширениях веб-службы IIS - прочитайте "" http://www.textcontrol.com/blog/permalink/2006082101"", чтобы получить инструкции по включению 32-разрядных приложений и настройке расширения веб-службы IIS.
2) Если вы используете какие-либо ключи реестра в IIS x64, в реестр будет добавлен новый узел - Wow6432Node, в который вам нужно будет переместить / скопировать все соответствующие ключи, которые использовались в x64.
у нас был ключ данных, сохраненный в HCLM \ Software \ CustomKey, который больше не был доступен, когда был включен 32-битный. Мы заново создали ключ под узлом Wow6432, и все было хорошо.