ADO.NET VS ODP.NET - Which is better?

Which do you recommend? Reasons? Thanks!

99 Answers

author avatar

The ADO provider is the standard data access code for Oracle from .NET:
Oracle Data Provider for .NET (ODP.NET) features optimized ADO.NET data access to the Oracle database. ODP.NET allows developers to take advantage of advanced Oracle database functionality, including
Real Application Clusters
The Oracle Providers for ASP.NET you mention, is a specific release for helping with things like ASP.NET State Management, Membership and Roles:

ASP.NET provider developers will discover the Oracle Providers for ASP.NET are easy to learn and use as they share a common schema and API with existing ASP.NET providers. They integrate seamlessly with existing ASP.NET services and controls, just like other ASP.NET providers.

Oracle offers the following providers:
Membership Provider
Role Provider
Site Map Provider
Session State Provider...

author avatar

ODP.NET is better in case of working with multiple databases as well as in complicated cases. For simple cases or microsoft environments, you can go with ADO.NET

author avatar
Top 20Real User

ADO.NET is simpler than ODP.NET. You should start with the first in case you have all microsoft based applications. In the minor case your company requirements are in big data terabytes you use Oracle ODP.NET as a adapter to .NET Common Language Runtime

author avatar

ODP.NET allows developers to take advantage of advanced Oracle database functionality, including Real Application Clusters, self-tuning statement cache, and fast connection failover.

author avatar

Talking about an oracle provider, Microsoft cannot possibly do a better job than than the owners of the database(Oracle). ODP is if feature-rich and supports a host of features that ADO simply doesn't (After all there is no point in going through all that for a competitor). ADO.NET is just fine for simple database operations. Check link below for a detailed comparison.

author avatar
Top 20Real User

ADO.NET is better for some client in application development if you are start with Microsoft based application.
ADO.NET provider developed by Microsoft and its as a part of .NET Framework. Microsoft continue to provide support for issues in Oracle Client .NET Framework 4.0.

ODP.NET is the .NET provider for Oracle database developed by Oracle.
Oracle provides .NET classes for accessing an Oracle databaMicrosoft is removing the Oracle data provider from its ADO.NET roadmap.

I heard that "Microsoft it decided discontinue its System.Data.OracleClient because a significant percentage of its MVPs tend to use alternative third-party offering are derived from ADO.NET base classes. This library is sometimes referred to as ODP.NET."
Is it correct ?

author avatar

Thanks you all for your answers! I appreciate it and have have passed them along!

author avatar


1. ENTITY FRAMEWORK – have used and I like it (especially entity framework core)
2. ADO.NET (have used a little and cant complain but cant prefer it entity framework)
3. ODP.NET (have never used)

author avatar

What is database? Oracle?

Find out what your peers are saying about ASP.NET vs. SharePoint Designer and other solutions. Updated: May 2021.
509,570 professionals have used our research since 2012.