Инсталацията на 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. Ако пише x86 в последната колона на реда Oracle.DataAccess, значи е 32-битов. Ако пише AMD64, значи е 64 бита.
На същия ред ще намерите и точния номер на версията. Проверете във VisualStudio дали проектът ASP.NET използва същия.
Ако не се лъжа, основната зависимост на Oracle.DataAccess.dll
е OraOps11w.dll
, който трябва да е наличен в директорията BIN на клиентската директория на Oracle. Тази директория обикновено се намира през системния регистър (HKLM\SOFTWARE\ORACLE\ODP.NET\<version>\DllPath
). Уверете се, че гледате регистъра на правилната битност (32 срещу 64 бита).
Има още неща, които могат да отидат. Но тези тук обикновено решават проблема.