| Application Type | Works? | Notes |
|----------------|--------|-------|
| .NET Framework 2.0/3.5 | Yes | Fully supported |
| .NET Framework 4.0 – 4.8 | Yes | Requires <supportedRuntime> and possibly useLegacyV2RuntimeActivationPolicy |
| .NET Core / .NET 5+ | No | This version is incompatible; use Oracle.ManagedDataAccess.Core |
| 32-bit process with 64-bit DLL | No | Will throw BadImageFormatException |
| ASP.NET (IIS) | Yes | Must enable 32-bit mode if using x86 version |
<runtime>
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
<dependentAssembly>
<assemblyIdentity name="Oracle.DataAccess" publicKeyToken="89b483f429c47342" culture="neutral"/>
<bindingRedirect oldVersion="4.112.0.0-4.122.0.0" newVersion="4.112.3.0"/>
</dependentAssembly>
</assemblyBinding>
</runtime>
Oracle.DataAccess.dll is not open source. It is part of Oracle’s free-to-distribute ODAC components, but you must adhere to the Oracle Technology Network (OTN) License Agreement. You may:
After obtaining the DLL, check its exact version:
Method A – File Properties:
Method B – PowerShell:
[System.Reflection.Assembly]::LoadFile("C:\path\to\Oracle.DataAccess.dll").FullName
Output example:
Oracle.DataAccess, Version=4.112.3.0, Culture=neutral, PublicKeyToken=89b483f429c47342
Method C – Visual Studio Immediate Window:
typeof(Oracle.DataAccess.Client.OracleConnection).Assembly.FullName
Oracle.DataAccess.dll is the Oracle Managed Provider for .NET—part of Oracle’s ODAC suite. It acts as a bridge between your C# or VB.NET application and the Oracle Database server, allowing ADO.NET commands like OracleConnection, OracleCommand, and OracleDataAdapter.
There are two common types of Oracle .NET providers:
Version 4.112.3.0 is unmanaged, meaning it depends on additional Oracle Client libraries (like OCI).