views:

935

answers:

7

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?

+3  A: 

It will be up to Oracle to keep their ODP.NET up to date.

JP Alioto
+2  A: 

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

Joel Coehoorn
+1  A: 

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 :

More providers can be found here.

Mac
I 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.
Anthony Mastrean
Yeah, it works well if you don't care shipping at least 19Mb worth of native Oracle client with your app (cf. http://stackoverflow.com/questions/70602/what-is-the-minimum-client-footprint-required-to-connect-c-to-an-oracle-database), if you don't care about parameters being bound by position (cf. http://stackoverflow.com/questions/1046632/binding-query-parameters-by-name-with-odp-net), 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.
Mac
+1  A: 

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.

jle
+1  A: 

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.

wweicker
A: 

Hi,

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/technology/tech/dotnet/msoc/index.html

Christian Shay

Oracle

Christian Shay
A: 

I have downloaded and installed the ODT from the Oracle website. What is the assembly that I should be referencing and what connection/command objects are available to use in the new Oracle Data Provider as substitute for the System.Data.OracleClient.OracleConnection/System.Data.OracleClient.OracleCommand?

Thanks.

Moiz Tankiwala