Prima di tutto:il client/provider Oracle è un disastro. E questo vale sia per quello MS (svalutato comunque) che per quello Oracle.
Per connettersi a un DB Oracle tramite il provider ODP.NET è necessario configurare correttamente tre elementi:
- Il client Oracle deve essere configurato correttamente (non ha nulla a che fare con il provider .NET, questo si riferisce al client Oracle installato di solito in c:\oracle)
- Il provider ODP.NET deve essere compatibile con il client Oracle installato
- L'architettura di client e provider e la tua applicazione devono corrispondere, non puoi utilizzare il client a 64 bit con un provider/applicazione x86 e viceversa
Di solito la cosa migliore è avere la versione più recente di entrambi. Ma se vuoi sbarazzarti di questo problema una volta per tutte, usa un provider Oracle .NET di terze parti.
AGGIORNAMENTO
Uno dei migliori è di DataDirect (nessuna affiliazione):
http://www. datadirect.com/products/net/net-for-oracle/index.html
Non è solo l'installazione (non è necessario alcun client Oracle), ma è anche più veloce, completamente gestito, x64 e il supporto generale è molto meglio di quello che ottieni con ODP.NET. Ti costerà però.
Anche quello DevArt è abbastanza decente (e molto molto più economico):
http:/ /www.devart.com/dotconnect/oracle/
Abbiamo deciso per DataDirect per motivi di estensibilità, tuttavia questo non dovrebbe essere rilevante per te.
Qui puoi trovare una buona raccolta di terze parti che creano provider .NET, non solo oracle:
http://msdn.microsoft.com/en-us/data/dd363565