Совместное использование клиента Oracle x32 и x64 - PullRequest
3 голосов
/ 15 февраля 2009

У моего клиента есть сервер x64, на котором он установил версии Oracle Client для x32 и x64. После того, как он установил мое веб-приложение и попытался запустить его, он получил исключение «Попытка загрузить программу с неправильным форматом (HRESULT 0x8007000B)» об Oracle.DataAccess.dll

Его IIS настроен на 64 бит.

Я попросил его добавить перенаправление << assemblyBinding >> с атрибутом processorArchitecture = "amd64" в Oracle.DataAccess.dll в веб-конфигурации, но это не помогло.

Как заставить мое приложение / его IIS / его сервер выбрать правильную версию Oracle Client?

Ответы [ 2 ]

4 голосов
/ 18 февраля 2009

Очевидно, что установщики Oracle для 32-разрядных и 64-разрядных не распознают друг друга, поэтому, если сначала установить 32-разрядную версию, а затем установить 64-разрядную версию, 64-разрядная версия будет по умолчанию установлена ​​в тот же каталог, что и 32-разрядная версия. И это не хорошо. Решение состояло в том, чтобы удалить обоих клиентов, а затем установить 32-разрядную версию в один каталог и 64-разрядную версию в другой каталог.

0 голосов
/ 15 февраля 2009

Вы пытались установить переменную среды PATH для процесса IIS, чтобы она включала только 64-разрядные двоичные файлы?

Это не очень приятное решение во многих отношениях (особенно для служб и размещенных сред выполнения, таких как IIS), но если оно работает, оно даст вам несколько вариантов для рассмотрения.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...