Не удалось загрузить файл или сборку. Ошибка Oracle.DataAccess.
Я создаю приложение ASP.NET с С#, и я хочу подключиться к базе данных oracle.
Я добавил ссылку на Oracle.DataAccess
в моем приложении на моем 64-битном компьютере Microsoft Window Server 2008.
Я также установил ODAC (Oracle Data Access Component) на свою машину
и Oracle.DataAccess.dll
также присутствует на этом пути
C:\Windows\Microsoft.NET\сборка\GAC_64\Oracle.DataAccess
но когда я пытаюсь подключиться, я сталкиваюсь с следующей ошибкой:
Не удалось загрузить файл или сборку 'Oracle.DataAccess, Version = 4.112.3.0, Culture = neutral, PublicKeyToken = 89b483f429c47342' или одну из его зависимостей. Система не может найти указанный файл.
Ответы
Ответ 1
Насколько мне известно, сборка Oracle.DataAccess
работает только с 32 битами, у меня также есть такая проблема с 64 битами, и она действительно не работает. Моим решением было удалить 64 бит из GAC и установить 32 бит на GAC. Я также удаляю любой DLL файл в папке bin, чтобы мое приложение находило сборку на GAC.
Нет проблем, если ваша машина и операционная система имеют 64 бита, 32-битная версия будет работать нормально.
UPDATE
Я рекомендую вам взглянуть на Official Oracle ODP.NET, Managed Driver
, что является лучшей версией, чем Oracle.DataAccess
. Для этого Managed Driver
не требуется Oracle Client
на машине, и вам просто нужно предоставить TNS в поле DataSource connection string
, и он отлично работает для бит 32
и 64
.
Ответ 2
Вам нужно установить как x64, так и x86 версии Oracle, потому что что-то (я думаю, это Visual Studio) использует версию x86 при отладке.
Ответ 3
по существу такая же ошибка
отсутствуют компоненты установки ODP.NET в соответствии с последним сообщением от меня и другого участника ответа.
Вы еще проверите GAC?
Если вы не видите папки Oracle.xxx,
вы не продвигаетесь вперед.
поместите правильную версию и бит Oracle.DataAccess.dll в папку application/BIN и сделайте локальную ссылку. Это решает многие проблемы.
Ответ 4
Чтобы запустить ваш сайт, вы должны использовать IIS, поскольку сервер разработки Visual Studio работает только в 32-разрядном режиме.
В пуле приложений IIS настройте приложение на 64 бит. (Настройки находятся в расширенных настройках)
Ответ 5
В VS2010 я изменил цель платформы на x64, и это сообщение об ошибке исчезнет.
Ответ 6
Чтобы устранить эту ошибку, я установил свой пул приложений в IIS, чтобы разрешить 32-разрядные приложения.
Откройте Диспетчер IIS, щелкните правой кнопкой мыши на пуле приложений и выберите "Дополнительные параметры" → "Включить 32-разрядные приложения" в значение "Истина". Он отлично работает для меня.