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

Impossible de charger le fichier ou l'assembly pour Oracle.DataAccess dans .NET

Je vais vous donner les réponses de ce que je viens de vivre sur Windows Server 2008 R2 qui est un système d'exploitation 64 bits. La suite d'applications de bibliothèques qui m'a été donnée a été développée à l'aide de .net 3.5 x86 avec les anciennes bibliothèques DLL et j'étais bloqué car j'avais installé les nouveaux clients x64 d'Oracle.

Ce que j'ai trouvé était le suivant :installez le dernier client x64 d'Oracle pour Windows Server 2008. Je pense que ce serait le client 2.7.0. Lorsque vous sélectionnez l'installation, assurez-vous de personnaliser et de sélectionner les bibliothèques .NET.Configurez vos fichiers tnsnames et testez votre tnsping par rapport à votre source de données.

Ensuite, si vous exécutez une application 32 bits, installez la même version du client pour 32 bits. Suivez également la même routine d'installation et sélectionnez la même maison.

Lorsque vous avez terminé, vous constaterez que vous disposez d'une seule application/produit avec deux répertoires clients (Client1 et Client2).

Si vous naviguez dans le répertoire windows/assemblys, vous constaterez que vous avez une référence à Oracle.DataAccess.dll (x2) avec une pour x86 et une pour AMD64.

Maintenant, selon que vous avez des développeurs ou que vous développez vous-même sur la machine, vous pouvez être d'accord ici, cependant, s'ils utilisent des pilotes plus anciens, vous devez effectuer une dernière étape.

Accédez au répertoire app\name\product\version\client_1\odp.net\publisher policy\2.x. Inclus ici sont deux fichiers de stratégie. utilisez gacutil /i pour installer Policy.2.111.Oracle.DataAccess.dll dans le GAC. Cela redirigera les anciens appels Oracle ODP vers les versions les plus récentes. Ainsi, si quelqu'un a développé avec le client 10g, il fonctionnera désormais avec le client 11.

FYI - Certains installent peut-être le dernier ODP.NET avec le 2.111.7.20. Le client oracle principal lui-même est livré avec 2.111.7.0 .. Je n'ai eu aucun succès avec le 7.20 mais je n'ai aucun problème avec le client 7.0.