sql >> Database teknologi >  >> RDS >> Oracle

Oracle.DataAccess.dll kan ikke findes, selvom det eksisterer

ODP.NET installationen kan være meget vanskelig. Der er mange ting, der kan gå galt:

  • Du kan have en version, der ikke matcher (2.111.7.20 vs. 2.112.1.0 vs. 2.112.2.0).
  • Du kan have en uoverensstemmelse mellem 32 og 64 bit.
  • .NET DLL'en eksisterer muligvis, men en af ​​afhængighederne blev ikke fundet.

Prøv at tjekke 32/64 bit mismatch først. I IIS kan du konfigurere, om din webapplikation kører som 32 eller 64 bit. For at kontrollere det, tag et kig på opgavehåndteringen og se, om w3wp.exe-processen har *32 mærke. Gå derefter til C:\Windows\Assembly i filstifinderen. Det er en speciel visning, der viser GAC. Hvis der står x86 i den sidste kolonne på rækken Oracle.DataAccess, så er det 32 ​​bit. Hvis der står AMD64, så er det 64 bit.

På samme række finder du også det nøjagtige versionsnummer. Tjek i VisualStudio, om ASP.NET-projektet bruger det samme.

Hvis jeg ikke tager fejl, er hovedafhængigheden af ​​Oracle.DataAccess.dll er OraOps11w.dll , som skulle være tilgængelig i BIN-biblioteket i Oracle-klientbiblioteket. Denne mappe er normalt placeret via registreringsdatabasen (HKLM\SOFTWARE\ORACLE\ODP.NET\<version>\DllPath ). Sørg for, at du ser på registreringsdatabasen for den korrekte bithed (32 vs 64 bit).

Der er flere ting, der kan gå. Men disse her løser normalt problemet.




  1. Tilføjelse af en kolonne som en fremmednøgle giver ERROR kolonne, der henvises til i fremmed nøgle begrænsning eksisterer ikke

  2. SQLite Beskriv tabel

  3. Importer CSV til MySQL

  4. hvordan man emulerer insert ignore og på duplikatnøgleopdatering (sql merge) med postgresql?