Driver Types
ODP.NET comes with three types of drivers:
ODP.NET, Managed Driver consists of fewer
DLLs than
ODP.NET, Unmanaged Driver. Hence, the installation size of the Managed Driver is smaller than that of the Unmanaged Driver.
ODP.NET Core is similar to the ODP.NET, Managed Driver yet with reduced set of provided APIs. Both use the same namespaces.
ODP.NET, Managed Driver and ODP.NET Core are built with AnyCPU, thus they run on either 32-bit or 64-bit (x64) .NET Framework and on either 32-bit or 64-bit Windows.
ODP.NET Core also runs on Oracle Linux 7 and Red Hat Enterprise Linux 7.
As of 18c,
ODP.NET Core follows the
.NET Standard 2.0 specification.
ODP.NET Core is compatible wtih ASP.NET Core 2.x and ASP.NET.
Files
The directory structure under
ODP.NET is roughly:
Directory structure | Comment
--------------------------+------------------------
|
─bin | Unmanaged drivers with TWO sets of binaries:
├───2.x | 1) One set for .NET Framework 2.0 (importantly Oracle.DataAccess.dll)
└───4 | 2) One set for .NET Framework 4 (also contains an Oracle.DataAccess.dll).
└───EF6 |
─doc | Contains readme.htm with helpful comments on bugs and limitations
─managed | Managed drivers. Only ONE set of binaries for frameworks
├───common | Contains Oracle.ManagedDataAccess.dll
│ └───EF6 |
├───PublisherPolicy |
│ └───4 |
├───x64 | Platform dependent versions of Oracle.ManagedDataAccessDTC.dll and Oracle.ManagedDataAccessIOP.dll.
└───x86 |
─PublisherPolicy |
├───2.x |
└───4 |
Misc
ODP.NET and Microsoft .NET Framework Data Provider for Oracle are not the same thing. The former is developed by Oracle, the latter by Microsft.
ODP.NET requires an installed Oracle Client to be installed when used to establish connections to an Oracle server.