Oracle.DataAccess.dll pas de chargement à l'aide de C#
Je vais avoir un problème lors du chargement de oracle.dataaccess. Ici est le message que je reçois:
Impossible de charger le fichier ou l'assembly 'Oracle.DataAccess, Version=2.112.1.0, Culture=neutral, PublicKeyToken=89b483f429c47342' ou une de ses dépendances. Une tentative a été faite pour charger un programme avec un format incorrect.
J'ai des entrées suivantes dans mon web.config pour ce.
<add assembly="Oracle.DataAccess, Version=2.112.1.0, Culture=neutral,
PublicKeyToken=89b483f429c47342"/>
Sous assemblées
et
<dependentAssembly>
<assemblyIdentity name="Oracle.DataAccess" publicKeyToken="89b483f429c47342"
Culture="neutral" />
<BindingRedirect oldVersion = "2.112.1.2" newVersion = "2.112.1.0" />
</dependentAssembly>**
Je suis en développement sur Visual Studio; 2008 sur un ordinateur Windows machine Vista. J'ai mon pool d'applications IIS 7.0 activé pour les applications 32 bits, et ma plate-forme cible pour ce projet est x86 au lieu de 'CPU'.
Je suis encore à essayer de comprendre quel est exactement le problème dans ce cas.
OriginalL'auteur user700351 | 2011-04-09
Vous devez vous connecter pour publier un commentaire.
Il me semble que le problème est que vous avez un client 64 bits installé, ce qui ne sera pas reconnu par Visual Studio parce que c'est une application 32 bits. Malheureusement, la meilleure solution que j'ai trouvé est à installer à la fois 32 bits et 64 bits des clients sur la même machine. J'ai installer une en C:\Oracle\11gClient32 et l'autre dans C:\Oracle\11gClient64. Vous devez installer la version 32 bits en premier, suivie par la version 64 bits.
Gardez à l'esprit que vous aurez besoin de conserver deux copies de sqlnet.ora et tnsnames.ora (ou ldap.ora) dans le [oracle]\network\admin dossier.
OriginalL'auteur Andy S
L'Oracle.DataAccess assemblée existe en 32 bits et une version 64 bits. Vérifier le nombre de bits du montage de votre projet de référencement, il doit être de 32 bits pour un 32 bits (x86) app.
Oracle 11g pour la version 64 bits est installé sur mon dev. de la machine. J'ai donc pris oracle.dataAccess.dll à partir de ce chemin sur ma machine locale. E:\oracle\ora11r2\ODP.NET\bin\2.x. J'ai eu mon vs 2008 projet de plate-forme cible "any CPU", donc il peut fonctionner à la fois avec 32/64 bits. J'ai ajouté oracle.dataAccess.dll à partir du chemin je l'ai mentionné ci-dessus. donc si il y a quelque chose que je fais mal ?
OriginalL'auteur devio
Assurez-vous que vous installez le logiciel Client Oracle de la machine. Simplement référencement Oracle.DataAccess ne pas travailler hors de la boîte.
ODAC
Je ne le conseille pas à copier la DLL dans votre projet. Utiliser l'assembly dans le Global Assembly cache qui a été installé par le client oracle.
J'ai essayé de faire ce que. Mais, lorsque j'essaie d'ajouter une référence sur mon projet, Oracle.DataAccess n'est même pas en train d'apparaître. Bizarrement Oracle.Web s'affiche dans "Ajouter une Référence" dialouge boîte. est-ce à dire que l'installation d'oracle sur ma machine n'est pas faite correctement. De Plus, quand je regarde dans mon assemblée "C:\Windows\assembly" oracle.DataAccess se montrer là-bas. donc, je ne suis toujours pas sûr de ce qu'est exactement est faux. Merci beaucoup pour donner un aperçu sur ce problème.
Parfois, vous devez attendre une minute ou deux avant de toutes les références de la charge dans le "Ajouter une Référence" dialogue dans visual studio. Aussi, êtes-vous à l'aide .net 3.5 ou 4? Si oui, vous devez vous assurer que vous avez les ODAC qui est compatible avec les dernières versions de .net, sinon afficher les références ne seront pas montrer Oracle.DataAccess. La version de .net exécutez-vous pour ce projet?
merci beaucoup pour votre aide. j'utilise 3.5. mon odac est également compatible. je pense que j'ai besoin de désinstaller tout ce qui concerne oracle et l'installer à nouveau sur table rase. mais vos réponses m'ont beaucoup aidé.
OriginalL'auteur mservidio
Êtes-vous sûr que vous avez ajouté l'assemblée? Aussi...bien sûr, sur le jeton? Et enfin...bien sûr, à propos de la 32/64 de compatibilité comme le gars ci-dessus suggère?
OriginalL'auteur johny
J'ai moi aussi eu le même problème et j'ai été d'obtenir l'erreur ci-dessous:
Il a été fonctionne correctement dans mon système local, où j'ai eu 32-bit et 64-bit versions de dll sont installés. Mais dans le serveur, seule la version 64 bits est installé et je n'ai pas été autorisé à faire toute l'installation.
Donc suivi ces étapes:
Enfin je pourrais connecter à la base de données oracle avec succès.
OriginalL'auteur Sunita
Dans le cas où c'est un 64 bits question, vous pouvez essayer de changer de cible CPU x86 (Propriétés du Projet - Compiler l'Onglet Avancé des Options de Compilation - PROCESSEUR Cible) et de le recompiler.
Cela a fait l'affaire pour moi.
OriginalL'auteur Seth