System.Data.OracleClient namespace discontinued?
Solution 1
It will be up to Oracle to keep their ODP.NET up to date.
Solution 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)
Solution 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
Solution 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.
Solution 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.
Michael Kniskern
I am currently working as an IT engineer for the government of Mesa, Arizona USA
Updated on July 16, 2022Comments
-
Michael Kniskern almost 2 years
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?
-
Anthony Mastrean almost 15 yearsI don't have a problem with ODP.NET... It fully implements ADO.NET 2.0 standards (DbProviderFactory, etc). And NHibernate fully supports it as a data provider.
-
Mac almost 15 yearsYeah, it works well if you don't care shipping at least 19Mb worth of native Oracle client with your app (cf. stackoverflow.com/questions/70602/…), if you don't care about parameters being bound by position (cf. stackoverflow.com/questions/1046632/…), if you don't care about all these little things (I can't mention them all here) that can turn your development experience into a living hell.