Editorials

Oracle Dot Net Managed Driver Released

The System.Data namespace in Microsoft Dot Net allows for engine specific extensions to be implemented favoring the capabilities specific to that data engine. Dot Net ships with System.Data.SqlServer providing easy access to the SQL Server data engine from Microsoft. Other engines must provide their own implementation, or rely on third party efforts to fill the gap such as DotConnect.Express for Oracle.

Oracle took the approach of not providing a complete implementation for Dot Net. Instead it created a Dot Net wrapper that executed database calls from old style DLLs not managed by the Dot Net runtime engine. They use the interop capabilities from Dot Net allowing applications not written to be run in the CLR to be called from within the CLR. Interop procedure calls are not especially performant in the Dot Net world, and can result in problems found in classic windows libraries such as memory overruns or memory leaks not generally found in managed code (code written to run in the Dot Net runtime engine).

The Oracle magazine for March 2014 reveals a new Oracle driver for Dot Net running completely in managed code. Now programmers can interact with Oracle databases without the issues related to interop services. Not all capabilities of the previous interop Dot Net drivers for Oracle are currently available. However, there are some new capabilities such as integration with Entity Framework.

The new Oracle Dot Net driver requires the Dot Net 4.0 framework or later. You can download the drivers using NuGet or you can do old school downloads at bit.ly/1j7ZV8y. Using the web link there are other tools such as a Visual Studio add in enhancing the abilities to work with Oracle.

For further information about how to configure the Oracle database driver you should be able to find instructions with a search engine. The March 2014 article documenting this new driver provides a lot more information for migrating or using this new driver, some of the un-implemented capabilities of Dot Net not found in the current managed driver, and instructions regarding using the driver with distributed transactions.

I hope this is a big boost for our readers working in Dot Net and Oracle. Let us know how it is working for you by leaving your comments here online, or drop an email to btaylor@sswug.org.

Cheers,

Ben