Först och främst:Oracle-klienten/leverantören är en enda röra. Och det gäller både MS-en (avskriven i alla fall) och Oracle-en.
För att ansluta till en Oracle DB via ODP.NET-leverantören måste tre saker ställas in korrekt:
- Oracle-klienten måste ställas in ordentligt (har inget att göra med .NET-leverantören, det här syftar på den installerade Oracle-klienten vanligtvis i c:\oracle)
- ODP.NET-leverantören måste vara kompatibel med den installerade Oracle-klienten
- Klientens och leverantörens arkitektur och din applikation måste matcha, du kan inte använda 64-bitarsklienten med en x86-leverantör/applikation och vice versa
Det bästa är vanligtvis att ha den senaste versionen av båda. Men om du vill bli av med det här problemet en gång för alla, använd en tredjeparts oracle .NET-leverantör.
UPPDATERA
En av de bättre är från DataDirect (ingen anknytning):
http://www. datadirect.com/products/net/net-for-oracle/index.html
Det är inte bara installation (ingen Oracle-klient behövs), utan det är också snabbare, fullt hanterad, x64 och allmän support är mycket bättre än vad du får med ODP.NET. Det kommer dock att kosta dig.
DevArt är också ganska anständig (och mycket mycket billigare):
http:/ /www.devart.com/dotconnect/oracle/
Vi valde DataDirect av utökbarhetsskäl, men detta borde inte vara relevant för dig.
Här kan du hitta en bra sammanställning av tredje parter som bygger .NET-leverantörer, dock inte begränsade till oracle:
http://msdn.microsoft.com/en-us/data/dd363565