问题
I just read this article today about how Microsoft decided to remove the System.Data.OrcaleClient namespace from .NET 4.0 library.
I used this as my primary tool for working with Oracle databases.
When I decide to upgrade my applications from the .NET 2.0 to .NET 4.0, what would bee some alternative options for working with Oracle databases in the .NET 4.0 framework?
回答1:
It will be up to Oracle to keep their ODP.NET up to date.
回答2:
Oracle has created a special website for OracleClient developers who are interested in learning about how and why to migrate to the Oracle Data Provider for .NET (ODP.NET).. check it out:
http://www.oracle.com/technetwork/topics/dotnet/index-085703.html
(edit: Fixed the broken link)
回答3:
Note this excerpt:
Microsoft will still make System.Data.OracleClient available in .NET Framework 4, but it will be labeled as "deprecated"
So go ahead and keep using it for updating existing applications where you relied on it previously. But for new development, you'll want to find an alternative. This shouldn't be too hard, as the whole stated reason it will be discontinued is that most people were already using alternatives. If you read further down the article it lists out the main options:
among those who offer such providers are DataDirect Technologies and Devart (formerly known as Core Lab). In addition, Oracle's provider, called Oracle Data Provider for .NET (ODP.NET), is a popular and viable option
回答4:
As Joel noted, the Microsoft ADO .NET provider for Oracle will only be deprecated (which means it will still be available, but unsupported).
Alternatives include :
- Oracle Data Provider for .NET. Free (if your time is, that is...)
- DataDirect ADO.NET Data Provider for Oracle. Commercial (no first hand experience on this one, but I know several developers who used it successfully)
More providers can be found here.
回答5:
Oracle Data Provider for .Net is the way to go... although at present, the smallest clickonce deployment that you can do with it is around 30 mb with the Oracle Instant Client .dll files. It is very similar to System.Data.OracleClient but has some snazzy features.
回答6:
Another one that I haven't seen mentioned yet is dotConnect from devart. As Mac mentioned, ODP.NET is free "if your time is" and I tend to agree with that, so I'm going to evaluate some commercial options, starting with dotConnect.
来源:https://stackoverflow.com/questions/1004484/system-data-oracleclient-namespace-discontinued