2009-09-08 2 views
0

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

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

EDIT:.

В ответ на замечание по моему первоначальному вопросу, ошибка я получаю «Попытка загрузить клиентские библиотеки Oracle кинул BadImageFormatException Эта проблема возникает при работе в 64-битном режиме с 32 бит Установлены клиентские компоненты Oracle «

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

+0

Есть ли 64-битный драйвер для соединения Oracle? –

+0

Что означает «невозможно подключиться к Oracle»? Появляется сообщение об ошибке? это время? Какие? Вы пытались подключиться с помощью SQLPlus или другого инструмента, поставляемого с клиентом Oracle? –

ответ

2

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

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

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

Проверьте, пожалуйста, What is the minimum client footprint required to connect C# to an Oracle database?.

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

2

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

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

Смежные вопросы