WebService для использования ODP.NET из общего файлового ресурса - PullRequest
0 голосов
/ 20 августа 2010

У меня есть веб-служба C # ASMX, которая использует Oracle.DataAccess.Client для подключения к базе данных Oracle. Когда я пытаюсь вызвать веб-метод, я получаю следующее сообщение об ошибке:

невозможно загрузить dll 'OraOps10.dll'

Это та же проблема, что и , которую задавали до , со значительным отличием в том, что у меня есть ODAP (по крайней мере, у меня есть OraOps10.dll в каталоге bin установки клиента Oracle), но он установлен в общей папке (W:) и не зарегистрирован на моем компьютере (где веб-служба работает на тестовом веб-сервере VisualStudio).

Даже когда я попытался скопировать указанную библиотеку DLL в каталог bin / веб-службы, он не нашел ее. Трассировка стека звучит так, будто она ищет его в реестре.

Можно ли как-то указать моему веб-сервису, где найти установку ODAP? (установить ORACLE_HOME в файле web.config или аналогичном)

( Обратите внимание: работающая установка клиента Oracle доступна на каждом целевом компьютере, и она прекрасно работает для открытия соединения Oracle с System.Data.Oracle, только в том случае, если установка клиента не включает ODAP: я не могу найдите любую запись "Oracle " в "Добавить ссылку -> .NET". *)

1 Ответ

2 голосов
/ 20 августа 2010

Если я правильно читаю, это звучит так, как будто у вас установлен Oracle Client локально , а не клиент ODP.net , установленный локально - скорее он «установлен» на другом компьютере, но использует это ORA home как общий диск "W:".

Вы знаете, какой тип установки ODP установлен на диске W:?

если это XCOPY (но вы также можете безопасно попробовать это с классической установкой), вы можете быть уверены, просто добавив переменные PATH: (как всегда, перед тем, как приступить к использованию PATH или реестра) BACK IT UP !) http://www.oracle.com/technetwork/oramag/2008/08-nov/o68odpnet-101744.html

Шаг 8: Последний шаг в установке Oracle Компоненты доступа к данным и Oracle База данных Instant Client на Разработчик машины должен добавить две вещи в переменную окружения Path. Щелкните правой кнопкой мыши значок «Мой компьютер» и выберите Свойства из контекста меню. Затем перейдите на вкладку «Дополнительно» в диалоговое окно «Свойства системы» и затем нажмите Переменные среды кнопка. В группе Системные переменные найдите переменную Path в списке (прокрутите вниз, если необходимо). Нажмите на Переменная пути в списке, а затем нажмите Редактировать. В системе редактирования Переменное диалоговое окно, поместите курсор в начале записи и тип C: \ оракул \ 11.1 \ ODAC; C: \ оракул \ 11.1 \ ODAC \ Bin; , Нажмите OK, чтобы закрыть Редактировать систему Переменная диалоговое окно, нажмите кнопку ОК, чтобы закрыть диалоговое окно переменных среды, и, наконец, нажмите кнопку ОК еще раз, чтобы закрыть диалоговое окно «Свойства системы»

Что касается реестра; проверка

МВА \ SOFTWARE \ ORACLE \ ODP.NET

Надежный способ заставить его работать - это локально установить ODP на тестовый блок, но переменные PATH должны быть всем, что вам нужно. Вы можете найти файлы @ http://www.oracle.com/technetwork/topics/dotnet/whatsnew/index.html

...