Разработка для 64-разрядной версии Windows Server 2003 на 32-разрядной версии Windows XP

Я занимаюсь разработкой приложения ASP.NET для Windows XP Professional. При продвижении в продакшн я только сейчас узнал, что сервер 64-битный. Я установил 32-разрядный клиент Oracle на сервер и не могу подключиться к Oracle.

Я использую Microsoft Provider для Oracle, и мой вопрос: как мне получить приложение ASP.NET, скомпилированное на 32-битной машине, для подключения к Oracle на 64-битной машине с Windows Server 2003?

РЕДАКТИРОВАТЬ:

В ответ на комментарий к моему исходному вопросу я получаю сообщение об ошибке: «Попытка загрузить клиентские библиотеки Oracle вызвала исключение BadImageFormatException. Эта проблема возникнет при работе в 64-битном режиме с установленными 32-битными клиентскими компонентами Oracle».

Я удалил 32-битный клиент и устанавливаю 64-битный клиент, проблема в том, что сервер является производственным сервером в DMZ, и у меня нет доступа к серверу, поэтому я пытаюсь предвидеть любые проблемы, которые у меня будут когда установлен 64-битный клиент, и я пытаюсь получить доступ к приложению ASP.NET на сервере


person Patrick McDonald    schedule 08.09.2009    source источник
comment
Есть ли 64-битный драйвер для подключения к Oracle?   -  person Mitchel Sellers    schedule 08.09.2009
comment
Что значит не могу подключиться к Oracle? Вы получаете сообщение об ошибке? время истекает? Какие? Вы пытались подключиться с помощью SQLPlus или другого инструмента, поставляемого с клиентом Oracle?   -  person Paul Abbott    schedule 08.09.2009


Ответы (2)


Простое решение: вы должны установить клиент Oracle в соответствии с платформой (x64 на машине x64). Причина в том, что ваше приложение .NET, скорее всего, будет построено в конфигурации AnyCPU, что означает, что оно будет работать как приложение x64 на платформе x64. Затем он может загружать только собственные библиотеки x64 ...

Обратите внимание, что когда дело доходит до Oracle, мне нравится использовать Oracle Instant Client < / а>:

  • Вам не нужно ничего устанавливать на целевые машины (включая блоки разработчиков!).
  • Вы можете убедиться, что ваше приложение будет работать с конкретным выбранным вами клиентом (версия, x86 / x64).
  • Вы даже можете легко настроить работу нескольких приложений с разными версиями клиентов на одном компьютере.
  • Как недостаток, это значительно увеличивает вес вашего приложения (минимум ~ 19 МБ).

Отметьте Каков минимальный размер клиентского пространства, необходимого для подключения C # к базе данных Oracle? для получения дополнительной информации.

В вашем конкретном случае я рекомендую настроить проект Visual Studio, который будет работать как на машинах x86, так и на машинах x64: проверьте мое сообщение в блоге Oracle Instant Client в Visual Studio. Тогда вот руководство по как настроить пакет WiX для Oracle Instant Client, ориентированного на машины x86 или x64. Если вы используете другую стратегию развертывания, просто убедитесь, что вы поставляете правильный клиент в соответствии с целевой платформой.

person Mac    schedule 09.09.2009

Еще одна вещь, которую можно попробовать, - установить пул приложений, в котором размещено приложение, в 32-разрядный режим. http://extended64.com/blogs/rhoffman/archive/2005/05/10/482.aspx

Это должно позволить загрузить 32-битный драйвер.

person Kevin Dente    schedule 08.09.2009