11
votes

Impossible de charger une erreur de fichier ou d'assemblage 'oracle.dataaccess

Je suis en train de construire une application ASP.NET avec C # et je souhaite vous connecter à la base de données Oracle.
J'ai ajouté référence à oracle.dataaccess dans ma candidature sur ma machine 64 bits Microsoft Window Server 2008. J'ai également installé ODAC (composant d'accès Oracle Data) sur ma machine et oracle.dataaccess.dll est également présent sur ce chemin

c: \ windows \ microsoft.net \ assembly \ gac_64 \ oracle.dataaccess

Mais lorsque j'essaie de me connecter, je rencontre une erreur suivante:

ne pouvait pas charger le fichier ou l'assemblage 'oracle.dataaccess, version = 4.112.3.0, culture = neutre, PublickeyToken = 89B483F429C47342' ou une de ses dépendances. Le système ne peut pas trouver le fichier spécifié.


3 commentaires

Avez-vous essayé d'installer la version 32bits?


Non, j'ai installé une version 64 bits


@Felipeoriani Que dois-je faire? En fait, j'utilise une machine 64 bits.


7 Réponses :


3
votes

Vous devez installer des versions X64 et X86 de Oracle, car quelque chose (je pense que c'était Visual Studio) utilise la version X86 lors du débogage.


0 commentaires

1
votes

essentiellement la même erreur

manquant des composants d'installation ODP.net manquants selon le dernier message de moi et de l'autre participant de réponse.

Vous vérifiez encore le GAC?

Si vous ne voyez pas de dossiers oracle.xxx,

Vous ne faites pas d'avance.

mettre la version correcte et bit d'oracle.dataaccess.dll dans le dossier Application / Bin et effectuez une référence locale. Cela résout de nombreux problèmes.


1 commentaires

Je suis sûr de la version correcte de oracle.dataaccess.dll. Et j'ai essayé de mettre la région de référence locale mais elle a rencontré une erreur suivante. Impossible de charger le fichier ou l'assemblage oracle.dataaccess ou l'une de ses dépendances. Une tentative a été faite pour charger un programme avec un format incorrect.



8
votes

Aussi loin que je sache, le oracle.dataaccess Fonctionne uniquement avec 32 bits, j'ai également ce genre de problème avec 64 bits et cela ne fonctionne vraiment pas. Ma solution a été retirée les 64bits de GAC et installer les 32 bits sur GAC. Je supprimai également tout fichier .dll dans le dossier BIN à mon application, trouvez l'assemblage sur GAC.

Il n'y a aucun problème si votre machine et votre système opérationnel sont 64bits, la version 32bits fonctionnera bien.

mise à jour

Je vous recommande de regarder Officiel ODP.net, pilote géré , c'est une meilleure version que oracle.dataaccess . Ce pilote géré n'a pas besoin du client sur la machine et il vous suffit de fournir le TNS du champ DataSource de la chaîne de connexion et cela fonctionne bien pour 32 et 64 bits.


3 commentaires

X64 Oracle.Dataaccess Assembly fonctionne également parce que j'ai utilisé une autre en utilisant uniquement X64 et cela fonctionne bien. Je ne peux pas identifier pourquoi est-il rencontrant dans mon système. @felipe Oriani Merci beaucoup va à vous de résoudre mon problème.


L'assemblage Oracle.DataAccess possède des versions 32 bits et 64 bits et ils fonctionnent tous les deux sans problèmes. J'ai utilisé les deux versions.


Il apparaît toujours sur ma machine. Ma machine a 64 bits aussi



1
votes

Pour exécuter votre site Web, vous devez utiliser IIS puisque le serveur de développement de Visual Studio ne fonctionne que en mode 32 bits.
Dans le pool d'applications IIS, définissez votre application pour fonctionner en 64 bits. (Le réglage est dans Paramètres avancés)


0 commentaires

2
votes

dans VS2010, j'ai changé la cible de la plate-forme en X64 et ce message d'erreur disparaît.


0 commentaires

0
votes

Pour résoudre cette erreur, j'ai défini mon pool d'applications dans IIS pour permettre aux applications 32 bits. Ouvrez IIS Manager, cliquez avec le bouton droit de la souris sur le pool d'applications et sélectionnez Paramètres avancés -> Définir "Activer les applications 32 bits" à true. Ça marche bien pour moi.


0 commentaires

0
votes

J'ai la même exception sur une application C # Console. Ce qui m'a résolu pour moi, c'est de changer la cible de la plate-forme vers X86. (Propriétés du projet => Build)


0 commentaires