Tout en essayant de se connecter à Oracle Database de .NET Obtenir l'exception suivante: P>
Après avoir traversé de nombreux liens, j'ai essayé de surmonter cette exception en modifiant la cible de la plate-forme vers n'importe quel CPU.Sait que c'est une application WPF, après avoir changé la cible de la plate-forme, il lance l'exception suivante: P>
Mais il fonctionne bien avec la citation de la plate-forme X86 sans lancer l'exception ci-dessus, mais elle jette L'environnement sur lequel je travaille est:
Windows Server 2008, Quelqu'un peut-il me dire.Comment le réparer? P> tentative de chargement des bibliothèques client d'Oracle a lancé BadimageFormatException. Ce problème se produira lors de la course en mode 64 bits avec les composants du client Oracle 32 bits installés. Code> P>
'L'invocation du constructeur sur type' ssc_gip_ui.mainwindow 'qui correspond aux contraintes de liaison spécifiées a jeté une exception. " Numéro de ligne '3' et position de la ligne '9'. Code> p>
badimageformatexception code>. p>.
.NET Framework 4.0,
Oracle 11g (64 bits) p>
3 Réponses :
Cette erreur indique que vous avez une inadéquation entre 32 bits et 64 éléments de bits dans votre application. P>
Lorsque vous exécutez une application en 64 bits Windows, elle peut fonctionner sous 64 bits ou 32 bits. Si vous avez réglé la cible de la plate-forme sous X86, elle fonctionnera sous forme de 32 bits. Si vous avez défini votre objectif de plate-forme sous la forme x64 ou AnyCPU, il fonctionnera sous forme de 64 bits. P>
Oracle a différentes versions de son client, l'une est de 32 bits et l'autre est de 64 bits. Donc, si votre application est exécutée en mode 32 bits, vous devez vous assurer que votre client 32 bits Oracle est installé. P>
Je pense que peut-être que vous devez: Ouvrez IIS, trouvez quelle application utilise cette application Allez dans ce pool d'applications, définissez une marque dans 'Activer les applications 32 bits' p>
Merci. Pas d'étonnement Mine ne fonctionnait pas via la demande Web, mais travaillant normalement via les applications Win32.
Une solution complètement alternative serait d'utiliser fournisseur de données Oracle pour. Net qui vous donnera accès à la DLL Oracle.ManageDDataaccess qui fonctionne, que vous soyez sur 32 ou 64 bits. Lire Cet article de Oracle Magazine pour une introduction douce. P>
Vous pouvez l'utiliser à peu près de la même manière que le système.data.oracleclient bien que je ne sois pas sûr s'il y a une parité entre les deux, votre kilométrage peut donc varier. P>