Oracle
 sql >> Base de données >  >> RDS >> Oracle

Oracle.DataAccess.dll ne peut pas être localisé bien qu'il existe

L'installation d'ODP.NET peut être très délicate. Il y a beaucoup de choses qui peuvent mal tourner :

  • Vous pouvez avoir une différence de version (2.111.7.20 vs 2.112.1.0 vs 2.112.2.0).
  • Vous pouvez avoir une incompatibilité entre 32 et 64 bits.
  • La DLL .NET existe peut-être mais l'une des dépendances est introuvable.

Essayez d'abord de vérifier l'incompatibilité 32/64 bits. Dans IIS, vous pouvez configurer si votre application Web s'exécute en 32 ou 64 bits. Pour le vérifier, jetez un œil au gestionnaire de tâches et voyez si le processus w3wp.exe a le *32 marque. Allez ensuite dans C:\Windows\Assembly dans l'explorateur de fichiers. C'est une vue spéciale qui affiche le GAC. S'il est indiqué x86 dans la dernière colonne de la ligne Oracle.DataAccess, il s'agit de 32 bits. S'il indique AMD64, alors c'est 64 bits.

Sur la même ligne, vous trouverez également le numéro de version exact. Vérifiez dans VisualStudio, si le projet ASP.NET utilise le même.

Si je ne me trompe pas, la dépendance principale de Oracle.DataAccess.dll est OraOps11w.dll , qui doit être disponible dans le répertoire BIN du répertoire client Oracle. Ce répertoire se trouve généralement via le registre (HKLM\SOFTWARE\ORACLE\ODP.NET\<version>\DllPath ). Assurez-vous de consulter le registre du bon nombre de bits (32 vs 64 bits).

Il y a plus de choses qui peuvent aller. Mais ceux-ci résolvent généralement le problème.