sql >> Databasteknik >  >> RDS >> Oracle

Oracle.DataAccess.dll kan inte hittas även om det finns

ODP.NET-installationen kan vara mycket knepig. Det finns många saker som kan gå fel:

  • Du kan ha en version som inte matchar (2.111.7.20 vs 2.112.1.0 vs. 2.112.2.0).
  • Du kan ha en obalans mellan 32 och 64 bitar.
  • .NET DLL-filen kan existera men ett av beroenden hittades inte.

Försök att kontrollera 32/64-bitars missmatchning först. I IIS kan du konfigurera om din webbapplikation körs som 32 eller 64 bitar. För att kontrollera det, ta en titt i aktivitetshanteraren och se om w3wp.exe-processen har *32 märke. Gå sedan till C:\Windows\Assembly i filutforskaren. Det är en speciell vy som visar GAC. Om det står x86 i den sista kolumnen på raden Oracle.DataAccess, så är det 32 ​​bitar. Om det står AMD64 så är det 64 bitar.

På samma rad hittar du också det exakta versionsnumret. Kontrollera i VisualStudio om ASP.NET-projektet använder samma.

Om jag inte har fel, är det huvudsakliga beroendet av Oracle.DataAccess.dll är OraOps11w.dll , som bör vara tillgänglig i BIN-katalogen i Oracle-klientkatalogen. Denna katalog finns vanligtvis via registret (HKLM\SOFTWARE\ORACLE\ODP.NET\<version>\DllPath ). Se till att du tittar på registret för rätt bitness (32 vs 64 bitar).

Det finns fler saker som kan gå. Men dessa här brukar lösa problemet.




  1. Transponera dynamiska kolumner till rader

  2. Jämför RDS vs EC2 för att hantera MySQL eller MariaDB på AWS

  3. NHibernate-mappning för Oracle INTERVAL DAY TO SECOND datatyp

  4. Introducerar ny funktion - Spotlight Cloud Replication