Microsoft Kills Its Oracle Data Provider for ADO.NET

In a significant move for those who develop .NET applications targeting Oracle databases, Microsoft is removing the Oracle data provider from its ADO.NET roadmap.

Microsoft said yesterday it decided discontinue its System.Data.OracleClient because a significant percentage of its MVPs tend to use alternative third-party offerings. Himanshu Vasishth, the company's program manager for the ADO.NET OracleClient, made the announcement in a posting on the ADO.NET team blog.

Microsoft will still make System.Data.OracleClient available in .NET Framework 4, but it will be labeled as "deprecated," according to Vasishth. "This will have no impact to existing applications and these applications will continue to work as expected," Vasishth noted.

"Developing new applications which use OracleClient will be supported; however, warnings will be raised if the applications are compiled against .NET 4. Once compiled, no warnings or errors will be generated while running these applications. We strongly recommend customers to use our partners' ADO.NET Provider for Oracle instead of continuing to use Microsoft's OracleClient for new application development," he wrote.

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, said Andrew Brust, chief of new technology at twentysix New York.

"Oracle's own support for ADO.NET and Visual Studio itself has been generally quite good," Brust said in an e-mail interview. "There is a dedicated .NET team at Oracle, and they are good at what they do and quite apolitical."

Microsoft MVP Benjamin Day of Benjamin Day Consulting Inc. said Microsoft's decision makes sense. "Why should Microsoft bend over backwards to support connections to a competitor's database, especially if they have market research data points that say Microsoft customers lean toward Oracle's implementation rather than Microsoft's implementation?" Day said in an e-mail.

This also frees Microsoft from having to support .NET-to-Oracle versioning or performance issues, Day added.

Microsoft will continue to offer bug fixes and other critical updates in line with its support policy for the .NET Framework 4, according to Vasishth.

About the Author

Jeffrey Schwartz is editor of Redmond magazine and also covers cloud computing for Virtualization Review's Cloud Report. In addition, he writes the Channeling the Cloud column for Redmond Channel Partner. Follow him on Twitter @JeffreySchwartz.

comments powered by Disqus

Reader Comments:

Mon, Oct 19, 2009 Phoenix Arizona

Why does MS keep messing up good things just to keep their monopoly going?

Fri, Oct 9, 2009 ykuebjxm jsocxyil, qyurmjze

[URL=]autwszqm[/URL] obqikyuy kpvespfv eymbeinz http://q DOT

Mon, Sep 28, 2009 Devart

If you used MS OracleClient try dotConnect cause it is totally compatible to OracleClient, has FREE Express edition and lots of additional features.

To migrate you have to complete only 2 simple steps. To know more about simplicity of migration explore our blog:

You can download dotConnect for Oracle here:


Tue, Sep 15, 2009 K G San Diego, CA

As long as a free, 3rd party provider works exactly as the the MS OracleClient did then it is not an issue. I seriously doubt this will be the case. Do the 3rd party versions support ref cursors for returning multiple rows of data from an oracle stored procedure? I have only seen examples of this with the MS ADO.NET provider. Perhaps others do. If they do not support the same functionality it could be a huge expense to shop that have already implemented applications using the MS version. This is not OK to just arbitrarily decide you don't want to support something one day and potentially affect your customers in a very painful way.

Tue, Aug 25, 2009 Oracle Support

I am an Oracle Support Engineer who works on the Microsoft Languages (MSLANG) team for Oracle. I support ODP.NET and third party .NET Managed providers used to interface with an Oracle database. It is possible that some code changes will need to be made in areas like calling a SQL statement with bind parameters (depends on how you chose to write the bind parameter code as the different providers have different overloaded methods and not all are the same between providers) but most of the code will be the same. Also, if you are using an Oracle database you should have an Oracle Support license and hence ODP.NET is the most cost effective choice as it's FREE. Should you run into a problem open an issue with support and we will fix any problems you encounter. Should you want to use third party .NET Managed Providers for Oracle such as DataDirect and Devart we will support that as well. If the 3rd party provider shows a bug in our software we will have our software fixed. If it shows a bug in the 3rd party provider we will direct you to the 3rd party for further support at that time. I suggest reading the Oracle Data Provider for .NET Developers guide to see the features we offer and compare them to the third parties offerings so you can make the best decision: HTML Doc: PDF Doc: See the section on "What's New in Oracle Data Provider for .NET?" for the latest features and review the rest of the doc for existing features with sample code. ODP.NET supports many database features such as High Availability which includes features such as TAF (transparent application failover), FAN (fast application notification) and FCF (Fast Connection Failover). Should you already use ODP.NET and desire other functionality it currently does not provide we can create enhancement requests for these new features with development and the product manager will review the requests and implement them as the demand increases. This is a win-win for Oracle and the customer.

Tue, Aug 11, 2009 BPM

I've been using ODP.NET and it works better than ADO.NET. There is one caviat. If you have previous versions of the Oracle client, which we do, do not use the Oracle Installer. It can kill the previous versions if you have third party software that uses ODBC or OO40. You can usually get one to work but fixing it kills the other. We had to install ODP using XCopy to keep it from breading our other client software.

Thu, Aug 6, 2009

Oracle is giving free for .net interface with oracle .we have used both and oracle client .they don't have any difference in code .so developers can easily shift.Oracle is far ahead of Microsoft sql servers in many aspects so no one will shift to sql server because of this as Microsoft thinks

Thu, Aug 6, 2009

as long as oracle is giving free for .net developers,it doesnt matter much .we are doing development in bot and oracle clinet..there not much diffrence in code as well as performance

Mon, Jul 13, 2009 noop Toronto

If you need Oracle connectivity from a .Net client, check out devart's offering, you'll be glad you did. rock solid implmentation and NO ORACLE CLIENT INSTALL on the web server. We switched for that reason alone. Note: DataDirect also has the feature but their licensing model/cost sucks

Thu, Jul 2, 2009 John Kansas City

There is always ODBC drivers. Slower, yes, but still makes Oracle accessible if someone can't afford the third-party components.

Mon, Jun 29, 2009 Peter London

Here at Barcap we migrate all applications that have succeeded in significantly growing in volumes to an oracle backend. I've worked on 1 sql server 2005 and 2 sql server 2000 to Oracle 11g migrations in the past 2 years. I can honestly say that if you are using the MS data provider in a high volume system instead of ODP.NET then you are making a big mistake. That said its fine for the small to medium non critical applications that to be honest you'd normally build with MySql or Sql Server in the first place.

Fri, Jun 26, 2009 Brad Cathey Cincinnati, OH, USA

>>>Hopefully Oracle and Sun will die soon.

Why discard freedom of choice? Choose what technology you want to use and use it. If you don't like the options your platform provides, change platforms. Having fewer choices is not good for anything. Then we would be in a TRUE monopoly.

Thu, Jun 25, 2009 Ian Lee Nashville, TN

"Oracle's own support for ADO.NET and Visual Studio itself has been generally quite good"

Apparently he's never used ODP.NET. It's so filled with bugs that my attempts to replace the Microsoft provider with Oracles was impossible. This is not good news. I suppose I'll have to give DataDirect a try and beg for more money... Uggg.

Sun, Jun 21, 2009 Nilesh D Sarkate India

Its QUITE LATE BUT NOT TOO LATE ... really good move as as per my experience in development most of developers were using oracle .net data provider so good n MS don need to invest time in maintaining the old oracle data provider.

Fri, Jun 19, 2009 SHARIF DHAKA

I hope Microsoft will change this decision very soon(?). If they want to do monopoly business then it could be a Boomerang to them.

Fri, Jun 19, 2009 shyam Bangalore

I think decession was taken due to bussiness devolopment of both sides.

Fri, Jun 19, 2009 DingBat

You'll have to code for a different data provider when targeting .Net 5.0, oh noes!!!!!!

Thu, Jun 18, 2009 Jeremy

Makes sense.

Thu, Jun 18, 2009 ESi Iowa

The notion that this will break existing code is ridiculous and shows a basic lack of understanding of how any of it works. The ONLY way existing code would be broken by this change is by a developer intentionally retargeting the application to a different level of the framework, which is almost certainly going to break a lot more than just accessing an Oracle database. Even new applications could have their data access layer developed in a separate component targeting 3.5 or 4.0 and then imported into applications that support later versions of the framework, if that's what one wanted to do. In fact, applications small enough to have the data access layer completely integrated into the application's primary code could probably be adjusted to use the Oracle libraries with some thought-out search/replace and refactoring, so the gajillions of man-hours needed to "fix" this only exist in Chicken Little's head.

This is Microsoft turning over the reins of a third-party interface to that third-party, which is where it belongs. If Microsoft were truly trying to enforce some monopoly control via .Net here, they'd set all of .Net's ODBC and ADO.NET base classes so they couldn't be derived or overridden and lock out all non-MSSQL providers from that tree. They haven't done anything of the sort.

Thu, Jun 18, 2009 hongming

good bill gates

Wed, Jun 17, 2009 Michael

I agree that this decision looks bad, but it is quite good. One your competitor is doing a better job interfacing with your system than let the competitor do it. Also, keep in mind, now with Mono etc .net is no longer a MS only technology. Dropping Oracle is very logical and show MS is pruning their efforts in the recession. I'm sure if Oracle dropped their .net provider tomorrow MS would pick it up and do their best! If you hate MS soo much stop developing .net! Go Java and leave us alone.

Wed, Jun 17, 2009 paul

Why should MS support anything but MS database, SQL Server? They do not support anything or want anyone to use anything unless MS controls it, patents it, and can sue you if you do not pay them for the rights to use it! Freedom is only free in the MS mindset, if MS decides to give you an MS solution. Proprietary lock in is rapidly becoming a thing of the past. I sure hope MS does not wake up and starts "smelling the coffee!"

Wed, Jun 17, 2009 andy texas

MSBASSINGER - lol! those four missing letters mean 'b*tch' in Spanish.

Wed, Jun 17, 2009 MSBassSinger Waleska, GA USA

I noticed the website changed, in my previous post, r e p u t a t i o n to re***tion. Is that a bad word?

Wed, Jun 17, 2009 MSBassSinger Waleska, GA USA

KB/Toronto, you miss the big picture. If you have an app where you used, for whatever reason, ODP.NET, now you are forced to address changes in code you would otherwise not need to make - so your customers don't get into any issues when Oracle changes something in the foreseeable future. MS sold you on the availability and usability of ODP.NET, you used it, and now MS says "no more". While the same existing framework may be available in .NET 4.0, MS won't be updating it as Oracle changes things going forward. Thus, your app may stop working for your customer in a near-future Oracle upgrade. To prevent that for your customer and your re *** tion, now you have to make changes in your code to support Oracle's .NET provider, and require your customer to use it. That means expending man-hours on something that shouldn't need fixing. In the interest of full disclosure, I don't use ODP.NET, and I rarely program against Oracle. I have not yet found Oracle to be a cost-effective choice for my customers, and only code against it when the customer has it already and must use it.

Wed, Jun 17, 2009 KB Toronto

No one has to change their code, no one has to do anything. If you are one of the tiny percentage that used this admittedly inferior database client you might at some point down the road switch to the one that Oracle builds. I'm with Lynn's comment regarding immediacy of upgrades. When the backend changes - the connection will be updated without the need for going through another round from MS. My first thought upon seeing this headline was that Microsoft was pulling the heavy again. After reading the article, I see this is not the case.

Wed, Jun 17, 2009 ivan


Wed, Jun 17, 2009 Jeff CC Nevada

The ODP .NET product has been out for a couple years, and they have been giving classes and seminars on using it with VS 2008, even while 2003 and 2005 were still being pushed. Oracle has done what I would do if it were my product: they make and support a very good product for the .NET developers so that they aren't left to decide which database platform to use. Microsoft has the God given right to not provide an adaptor for Oracle, but once again they're arrogance is showing through... Why can't they maintain a mediocre provider (like they do with ODBC) and stop feeding the Microsoft haters?

Wed, Jun 17, 2009 MSBassSinger Not missing the point

Lynn and Sergio, I am not missing the point, but I suspect you are. The point is not whether MS should have made ODP.NET in the first place. The point is whether, having made ODP.NET, with developers using it, those developers should have to go change their code. Some developers may have clients who don't want the big-footed Oracle version, or have an IT department who doesn't want to provide it. In addition, Oracle has always been a pain in the arse to deal with, whether from ADO with VB6 or in .NET. Oracle has never tried to play well with MS. Try looking at the larger end product picture, not the smaller techie scope of what driver theoretically works best with Oracle.

Wed, Jun 17, 2009 Mike Devenney Wilmington, DE

Well put Lynn Crumbling.

Wed, Jun 17, 2009 Sergio Treiger Brazil

I think Lynn Crumbling is absolutely rigth. I've worked with both providers, and Oracle's is the best choice. This decision has nothing to do with monopoly. Monopoly would be forcing .net applications to work only with SqlServer. If one is using Oracle database, one should stick to Oracle products. This goes for all other databases. Why should Microsoft make their own MySql or Postgres providers, for instance?

Wed, Jun 17, 2009 Chris

"Oracle's own support for ADO.NET and Visual Studio itself has been generally quite good," Brust said in an e-mail interview. "There is a dedicated .NET team at Oracle, and they are good at what they do and quite apolitical." So what? ----------------------------------

Wed, Jun 17, 2009 Lynn Crumbling Lancaster, PA

*** I don't think half of the people posting comments read _and_ understand what this article is about. *** MICROSOFT IS DROPPING DUPLICATED EFFORTS TO MAINTAIN A DRIVER THAT ORACLE ALREADY DOES BETTER. Yes, you have to install the 20M ODP Pack, but COME ON! .NET 3.5 SP1 comes in at over 200 Megs! If you need the client connectivity, why WOULDN'T you go with a driver developed by the same company that developed the RDBMS that you're hitting against? At least when communications changes occur, the provider team will have immediate and first-hand knowledge of it! After all -- it's not like .NET ships with a provider for MySQL, PostGRES, or any other number of other SQL Servers in widespread use!

Wed, Jun 17, 2009 GWF Massachusetts

This is not a good move on Microsoft's part. I develop applications in Visual Studio and want to be as implementation platform "agnostic" as possible while keeping the "toolbox" Microsoft-centric. I have not found the Oracle data provider to be as consistently reliable as OracleClient.

Wed, Jun 17, 2009 kiran

some body not using sqlserver provider so now onwards every body using sql native provider

Wed, Jun 17, 2009 MSBassSinger Waleska, GA USA

Another bad move by MS. The old MS would have simply made the ODP for .NET better. One of the most quoted, and in the last few years, so often proven, complaints about MS is that they will abandon something developers used. This problem stems from the same problem that has made MS go downhill the past several years - an increase in non-American development and management staff. Americans are what made MS great, and non-Americans are dragging them down to 2nd rate status.

Wed, Jun 17, 2009 Ivan Karobka MA

Oracle market is srinkig rapidly, so who cares. I don't.

Wed, Jun 17, 2009

The "only" problem is having to install at least a 200Mb ODP pack just to connect to the database. Plus the DLL version hell! I was hoping for a real managed driver :(

Wed, Jun 17, 2009 Ravi Santlani Birmingham, U.K.

I think this decision is quiet good... everyone should develop their own technology... we already have Oracle Data Provider for .NET, which is much better than MS who will us eit anyways, except newbies.... Microsoft took wise step in recesion time by doing only things that generate gud revenues....

Wed, Jun 17, 2009 Mr. Special

this is the silly step taken by MS. they just wan to create monopoly but they should know that still ORACLE is no.1 in enterprise s/w and comes after MS in overall s/w. So, neglecting support for ODP.Net will make them suffer a lot.

Wed, Jun 17, 2009 Serbia

I think it's a perfectly normal step; everyone should develop their own technology...

Wed, Jun 17, 2009

MS will be the king of the ring..

Wed, Jun 17, 2009 Budha Singh India

Microsoft should not do this. Nowadays monopoly business is risky.

Tue, Jun 16, 2009 Terry Van Horn OHIO

I don't use oracle so who cares

Tue, Jun 16, 2009 vmladenov

You always could use Oracle Data Provider for .NET. It's much better than Microsoft one.

Tue, Jun 16, 2009 jack

fairly understandable. it would be quite silly to spend so much over compatibility for compatitor's technology which may change anytime making it quite exausting for developers at MS to cope with.

Tue, Jun 16, 2009 Monster Magnet

Microsoft kills its .NET. -uoops

Tue, Jun 16, 2009 Monster Magnet

Hopefully Microsoft will die soon.

Tue, Jun 16, 2009 Dallas Sydney

In the land far, far, away - Australia, I have notice a significant move away from Oracle database, even from the very conservative customers such as the State and Federal Governments. Personally I thank Google who have shown that the very large databases are MySQL and free. What do you get for over a million dollars from Oracle?

Tue, Jun 16, 2009

Hopefully Oracle and Sun will die soon.

Tue, Jun 16, 2009 Mortaza Doulaty

I think this decision is quiet good...

Tue, Jun 16, 2009

No, it isn't. When vendor support is quite good, MS can concentrate on other pressing issues and potentials. This should encourage vendors with their image, in being good with their support, from the halo of being "recommended" by MS.

Tue, Jun 16, 2009 Olympia, WA

So it has started. Watch while MS slowly drives everybody out of ITS market.

Tue, Jun 16, 2009

It doesn't take long for developers to realize that Microsoft's Oracle interfaces (e.g. their OLEDB provider and ADO.Net classes) were fairly crippled... Oracle has always provided extensive documentation and samples, in addition to full downloads of all of their products with development licenses. Their developer support, IMO, surpasses Microsoft's these days.

Tue, Jun 16, 2009,_extend_and_extinguish But will it work on Oracle?

Add Your Comment:

Your Name:(optional)
Your Email:(optional)
Your Location:(optional)
Please type the letters/numbers you see above