Tout d'abord :le client/fournisseur Oracle est un gâchis. Et cela vaut aussi bien pour celui de MS (de toute façon déprécié) que pour celui d'Oracle.
Afin de se connecter à une base de données Oracle via le fournisseur ODP.NET, trois éléments doivent être correctement configurés :
- Le client Oracle doit être configuré correctement (n'a rien à voir avec le fournisseur .NET, cela fait référence au client Oracle installé généralement dans c:\oracle)
- Le fournisseur ODP.NET doit être compatible avec le client Oracle installé
- L'architecture du client et du fournisseur et votre application doivent correspondre, vous ne pouvez pas utiliser le client 64 bits avec un fournisseur/une application x86 et vice versa
Habituellement, le mieux est d'avoir la dernière version des deux. Mais si vous voulez vous débarrasser de ce problème une fois pour toutes, utilisez un fournisseur Oracle .NET tiers.
MISE À JOUR
L'un des meilleurs vient de DataDirect (sans affiliation) :
http://www. datadirect.com/products/net/net-for-oracle/index.html
Ce n'est pas seulement l'installation (aucun client oracle nécessaire), mais c'est aussi plus rapide, entièrement géré, x64 et le support général est bien meilleur que ce que vous obtenez avec celui d'ODP.NET. Cela vous coûtera cependant.
Celui de DevArt est également assez correct (et beaucoup moins cher) :
http:/ /www.devart.com/dotconnect/oracle/
Nous avons opté pour le DataDirect pour des raisons d'extensibilité, cela ne devrait cependant pas vous concerner.
Ici vous pouvez trouver une bonne compilation de tiers qui créent des fournisseurs .NET, mais pas limités à oracle :
http://msdn.microsoft.com/en-us/data/dd363565