Поэтому мне нужно, чтобы 32-битные и 64-битные клиенты Oracle 11g сосуществовали на одной машине. Я уже устанавливал оба вместе раньше, но есть много проблем, когда приложения, которым необходимо использовать 32-битный клиент, похоже, ссылаются на 64-битный клиент и наоборот.
Я долгое время искал на различных форумах Oracle и в ресурсах, посвященных Oracle, и пробовал различные методы получения ORACLE_HOME и такого набора, чтобы два клиента могли хорошо играть бок о бок, но на самом деле ничего не сработало.
Есть ли законный лучший способ сделать это? В частности, мне интересно, должен ли каждый клиент находиться в своем собственном каталоге BASE (скажем, C: \ oracle и C: \ oracle32) или они должны находиться в одной и той же базовой директории, но иметь свои собственные клиентские папки.
Я использовал это руководство для установки обеих версий для разработчиков .NET уже несколько лет, работает как шарм.
Как установить 32- и 64-разрядную версии Oracle Client
-Стивен
В моем сценарии мне нужны оба клиента, потому что у меня есть приложение ESRI ArcMap (32-разрядное), а также их серверный продукт (64-разрядный) на одном компьютере. Пару дней назад я без проблем установил 64-битный клиент и только что приступил к установке настольного приложения. Теперь мне нужен 32-битный клиент Oracle. Установщик не смог заявить, что не может «получить доступ к временному расположению». Я админ бокса, и проблема не в этом. Проблема заключалась просто в том, что на машине работала служба OracleRemExecServiceV2. Я остановил службу, и установка 32-битного клиента продолжилась.
Вот моя пошаговая процедура, следуя методу Фрэнка Кведнау, изложенному на сайте realfiction: «Используйте 32-битный и 64-битный клиент Oracle параллельно в 64-битной Windows 7, например, для приложений .NET»
Сначала загрузите Instant Clients с веб-сайта Oracle:
64-Bit: instantclient-basiclite-windows.x64-12.2.0.1.0.zip
32-bit: instantclient-basiclite-nt-12.2.0.1.0.zip
..и распаковать в две отдельные папки. Затем в командной строке с повышенными привилегиями введите следующие команды:
C:\> mklink /D c:\windows\SysWOW64\$Oracle C:\Oracle-32\instantclient_12_2
C:\> mklink /D c:\windows\system32\$Oracle C:\Oracle-64\instantclient_12_2
Наконец, введите следующее в ПУТЬ:
C:\Windows\System32\$Oracle
Затем приложение .NET автоматически выберет правильную папку для загрузки соответствующей двоичной версии oci.dll.