Je construis une application ASP.NET avec C # et je veux me connecter à la base de données Oracle.
J'ai ajouté une référence à Oracle.DataAccess
dans mon application sur mon ordinateur Microsoft Windows Server 2008 64 bits . J'ai également installé ODAC (composant d'accès aux données Oracle) sur mon ordinateur Et Oracle.DataAccess.dll
est également présent sur ce chemin.
C:\Windows\Microsoft.NET\Assembly\GAC_64\Oracle.DataAccess
mais quand j'essaie de me connecter, je rencontre l'erreur suivante:
Impossible de charger le fichier ou l'assembly 'Oracle.DataAccess, version = 4.112.3.0, Culture = neutre, PublicKeyToken = 89b483f429c47342' ou l'une de ses dépendances. Le système ne peut pas trouver le fichier spécifié.
Autant que je sache, l’assemblage Oracle.DataAccess
ne fonctionne qu’en 32 bits, j’ai également ce problème avec 64 bits et cela ne fonctionne vraiment pas. Ma solution a été de supprimer les 64 bits du GAC et d’installer les 32 bits sur le GAC. Je supprime également tous les fichiers .dll du dossier bin de mon application qui trouve l’Assemblée sur GAC.
Il n’ya pas de problème si votre machine et votre système opérationnel sont à 64bits, la version 32bits fonctionnera bien.
METTRE À JOUR
Je vous recommande de regarder Official Oracle ODP.NET, Managed Driver
, qui est une meilleure version que Oracle.DataAccess
. Ce Managed Driver
n'a pas besoin du Oracle Client
sur la machine et il vous suffit de fournir le TNS dans le champ DataSource du connection string
et tout fonctionne correctement pour les bits 32
et 64
.
Vous devez installer les versions Oracle x64 et x86, car quelque chose (je pense que c'était Visual Studio) utilise la version x86 lors du débogage.
Dans VS2010, j'ai changé la cible de la plate-forme en x64 et ce message d'erreur disparaît.
Pour exécuter votre site Web, vous devez utiliser IIS car le serveur de développement de visual studio ne fonctionne qu'en mode 32 bits.
Dans le pool d’applications IIS, configurez votre application pour qu’elle s’exécute en 64 bits. (Le paramètre est dans les paramètres avancés)
essentiellement la même erreur
composants d’installation ODP.NET manquants selon le dernier message de moi et de l’autre participant.
Vous vérifiez encore le GAC?
Si vous ne voyez pas les dossiers Oracle.xxx,
vous ne faites pas de progrès.
placez la version et le bit corrects de Oracle.DataAccess.dll dans le dossier application/BIN et établissez une référence locale. Cela résout beaucoup de problèmes.
Pour résoudre cette erreur, j'ai défini mon pool d'applications dans IIS pour autoriser les applications 32 bits. Ouvrez le Gestionnaire IIS, cliquez avec le bouton droit sur le pool d’applications et sélectionnez Paramètres avancés -> définissez «Activer les applications 32 bits» sur Vrai. Cela fonctionne bien pour moi.
J'ai la même exception sur une application console c #. Ce qui a résolu le problème pour moi est de changer la cible de la plate-forme en x86. (propriétés du projet => build)