Oracle Instant Client с веб-приложением - PullRequest
3 голосов
/ 06 сентября 2010

У меня есть решение для Visual Studio с веб-приложением ASP.NET 3.5 (хост WCF) и тестовым проектом. Я хотел использовать Oracle Instant Client (v11, через NHibernate) для создания соединений Oracle без установки клиентских инструментов Oracle на каждом «задействованном» компьютере (dev, CI-сервер, тестовый сервер, рабочий сервер).

Странно то, что на моей машине для разработки (x86) мои тесты запускаются без проблем, в то время как мое веб-приложение все еще выдает мне следующее сообщение об ошибке: System.Data.OracleClient requires Oracle client software version 8.1.7 or greater

Вещи, которые я уже исключил:

  • Папка bin имеет права на чтение и выполнение для всех
  • Библиотеки DLL разблокированы (windows 7)
  • Проблема возникает как с сервером разработки Visual Studio, так и с IIS 7
  • Я также проверил это на компьютере с установленными инструментами клиента Oracle, и это работает

Мне даже удалось запустить тесты на нашем сервере x64 CI ( больше информации ).

Кто-нибудь знает, что мне не хватает?

1 Ответ

3 голосов
/ 06 сентября 2010

Я вижу эту ошибку почти каждый раз, когда настраиваю Oracle на новой машине.

  1. Убедитесь, что папка oracle bin находится в вашем пути
  2. Предоставить всем пользователям права на чтение и выполнение в папке клиента (на моем компьютере C: \ oracle \ product \ 10.2.0 \ client_1)
  3. Изменение разрешений может не вступить в силу, пока вы не перезагрузите компьютер.

EDIT:

Из вашего комментария шаги 2 и 3 не имеют значения для Oracle Instant Client. Но, я думаю, проблема в том, что система не может найти DLL-библиотеки Oracle Instant Client. Было бы целесообразно указать расположение этих библиотек DLL на своем пути и посмотреть, разрешит ли это это.

С http://www.oracle.com/technetwork/database/features/instant-client/index-100365.html

Инструкция по установке

Этапы установки:

  1. Загрузите соответствующие пакеты Instant Client для вашей платформы. Для всех установок ТРЕБУЕТСЯ пакет Basic или Basic Lite.

  2. Распакуйте пакеты в один каталог, такой как «instantclient».

  3. Установите путь загрузки библиотеки в вашей среде в каталог на шаге 2 («instantclient»). На многих платформах UNIX LD_LIBRARY_PATH является подходящей переменной среды. В Windows следует использовать PATH.

  4. Запустите приложение и наслаждайтесь.

...