ODP.NET on Microsoft .NET Core

by

TL;DR Oracle outlines its planned support for Microsoft .NET Core.

Oracle's .NET development community numbers over 800,000 members. With Oracle's extensive support, Visual Studio developers can take full advantage of database and application server technologies, such as performance self-tuning, Real Application Clusters, messaging, and simplified management of advanced data types, such as XML, SecureFiles, and user-defined types.

Recently, Oracle published the following statement of direction:

Oracle's Disclaimer

The following is intended to outline our general product direction. It is intended for information purposes only, and may not be incorporated into any contract. It is not a commitment to deliver any
material, code, or functionality, and should not be relied upon in making purchasing decisions. The
development, release, and timing of any features or functionality described for Oracle’s products
remains at the sole discretion of Oracle.

Oracle Data Provider for .NET

Oracle Data Provider for .NET (ODP.NET) features optimized ADO.NET data access to the Oracle database from Microsoft .NET Framework. It allows developers to take advantage of advanced Oracle database functionality, including Real Application Clusters, pluggable databases, and Oracle Database
Cloud.

ODP.NET consists of two drivers: ODP.NET, Managed Driver and ODP.NET, Unmanaged Driver. ODP.NET, Managed Driver is a fully managed ADO.NET provider, consisting of fewer DLLs and smaller install size than ODP.NET, Unmanaged Driver. The managed driver has the same exact
application programming interfaces (APIs) as ODP.NET, Unmanaged Driver. However, the managed driver's APIs are a subset of the Unmanaged Driver's APIs. Currently, managed and unmanaged ODP.NET support .NET Framework on Windows only.

Microsoft .NET Core

Microsoft .NET Core is an open source, cross-platform version of .NET Framework with support for Microsoft Windows, Apple macOS, and a number of Linux distributions.

Oracle's .NET development community voted intensively with more than 500 votes for Entity Framework Core support feature request. Most of them left a comment. I highlighted some of the community feedback:

  • "It is absolutely required for developers"
  • "We are anxiously waiting....."
  • "When it will be available ? Do you have any target date ?"
  • "Oracle support is critical for development of enterprise software applications."
  • "Please add this feature - Oracle should be on cutting edge."
  • "we are converting classic asp to .net core, which is backed up by oracle database, we need the oracle database provider for .net core badly."
  • "Very Much needed for our environment."
  • "Microsoft is now Mobile First Cloud First. .Net Core is part of Cloud first initiative and it's gonna be the trend in the .Net world So if you guys take too long to create a driver for that a lot of apps will still relay on ADO.Net then the architects can choose Sql Server over Oracle for new projects due to lack of support of Oracle for .Net Core. That doesn't need to be tomorrow or next month. But please give us a roadMap at least. This way we can plan according to that."
  • "It's a very urgent for our company to support .NET Core for Oracle on Windows and Linux platform."

At the moment of writing this blog post, Entity Framework Core 1.0 feature request reached 591 votes. The status is accepted and unscheduled.

ODP.NET Statement of Direction for Microsoft .NET Core

Oracle plans to certify ODP.NET, Managed Driver on Microsoft .NET Core around the end of calendar year 2017.

Oracle intends to support managed ODP.NET on .NET Core on Windows operating systems and Oracle Linux. Managed ODP.NET may support additional operating systems. Oracle will continue to
evaluate support for other Linux distributions and will announce additions to the certification list at a
future time.

The priority is Windows operating systems and Oracle Linux. Developers on Mac should wait more because it is not clearly mentioned if it will be supported or not!

Oracle does not plan to certify on earlier versions than Microsoft .NET Core 2.0. .NET Core 2.0 contains numerous features that make managed ODP.NET certification possible on the framework.

ODP.NET support for Microsoft Entity Framework Core and Microsoft ASP.NET Core is not expected in the first release. Oracle will have more details on support for these technologies at a future time.
Oracle does not plan to certify ODP.NET, Unmanaged Driver on .NET Core.

Summary:

  • RTM will be on the end of 2017.
  • Certification needs at least .NET Core 2.0.
  • EF Core and ASP.NET Core are planned for post-2017
  • The managed ODP.NET on .NET Core will be supported on Windows operating systems and Oracle Linux.
  • The unmanaged driver ODP.NET will not be certified on .NET Core.

References:

What do you think about this ODP.NET Statement of Direction for Microsoft .NET Core?
Maher Jendoubi

Disclaimer: The opinions expressed herein are my own personal opinions and do not represent my employer's view in any way.