Не удается найти Oracle.DataAccess.dll, хотя он существует - PullRequest
4 голосов
/ 16 декабря 2011

Когда я просматриваю приложение ASP.Net, разработанное в Visual Studio 2008 на IIS 7.5 (Windows Server 2008 R2 x64), я получаю сообщение об ошибке конфигурации, в котором говорится, что файл Oracle.DataAccess, Version = 2.111.7.20 не может быть найден.Я уже установил поставщик данных Oracle для .NET, который содержит файл.Когда я настраиваю ODP.net, он помещает файлы dll в папку c: \ app .... \ odp.net \ PublisherPolicy.Я на всякий случай скопировал эти файлы в папку C: \ Windows \ Microsoft \ Framework, но все равно получил ту же ошибку.Может ли кто-нибудь помочь мне решить эту проблему?Любая помощь с благодарностью

1 Ответ

11 голосов
/ 16 декабря 2011

Установка ODP.NET может быть очень сложной.Есть много вещей, которые могут пойти не так:

  • Возможно несоответствие версий (2.111.7.20 против 2.112.1.0 против 2.112.2.0).
  • Возможно несоответствиемежду 32 и 64 битами.
  • .NET DLL может существовать, но одна из зависимостей не найдена.

Попробуйте сначала проверить несоответствие 32/64 бит.В IIS вы можете настроить, будет ли ваше веб-приложение работать 32- или 64-разрядным.Чтобы проверить это, взгляните на диспетчер задач и посмотрите, имеет ли процесс w3wp.exe метку *32.Затем перейдите на C:\Windows\Assembly в проводнике.Это специальный вид, который отображает GAC.Если в последнем столбце строки Oracle.DataAccess указано значение x86, значит оно 32-разрядное.Если он говорит AMD64, то он 64-битный.

В той же строке вы также найдете точный номер версии.Проверьте в VisualStudio, использует ли тот же проект ASP.NET.

Если я не ошибаюсь, основная зависимость Oracle.DataAccess.dll - OraOps11w.dll, которая должна быть доступна в каталоге BINКлиентский каталог Oracle.Этот каталог обычно находится через реестр (HKLM\SOFTWARE\ORACLE\ODP.NET\<version>\DllPath).Убедитесь, что вы смотрите на реестр правильной битности (32 против 64 бит).

Есть еще кое-что, что может пойти.Но здесь они обычно решают проблему.

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