Oracle.ManagedDataAccess 23.6.0

Prefix Reserved
dotnet add package Oracle.ManagedDataAccess --version 23.6.0                
NuGet\Install-Package Oracle.ManagedDataAccess -Version 23.6.0                
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="Oracle.ManagedDataAccess" Version="23.6.0" />                
For projects that support PackageReference, copy this XML node into the project file to reference the package.
paket add Oracle.ManagedDataAccess --version 23.6.0                
#r "nuget: Oracle.ManagedDataAccess, 23.6.0"                
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
// Install Oracle.ManagedDataAccess as a Cake Addin
#addin nuget:?package=Oracle.ManagedDataAccess&version=23.6.0

// Install Oracle.ManagedDataAccess as a Cake Tool
#tool nuget:?package=Oracle.ManagedDataAccess&version=23.6.0                

Oracle Logo

Oracle.ManagedDataAccess 23.6.0

Release Notes for Oracle Data Provider for .NET, Managed Driver NuGet Package

September 2024

Managed Oracle Data Provider for .NET (ODP.NET) features optimized ADO.NET data access to the Oracle database for .NET Framework and is 100% managed code. ODP.NET allows developers to take advantage of advanced Oracle database functionality, including AI vectors, Real Application Clusters, Application Continuity, JSON Relational Duality, and Fast Connection Failover.

This document provides information that supplements the Oracle Data Provider for .NET (ODP.NET) documentation.

New Features

  • Eliminate exception when using Transparent Application Failover (TAF) SELECT mode (starting with 23.5.1)
  • BINARY Vector Support
  • IsFloatingPointNumber Schema Table Column Support
  • Data Source Allowed Parameters Support
  • Allow UNC Paths Support
  • OpenTelemetry: ActivitySource.Version Support
  • OpenTelemetry: SQL Normalization Support
  • OpenTelemetry: db.odp.user.statement Tag Support
  • AutoProxy Support
  • SSL-related OracleConnection Property Support
  • Azure Credentials Support for Service Principal Authentication Flow
  • SQLNET.IGNORE_ANO_ENCRYPTION_FOR_TCPS Support

Bug Fixes since Oracle.ManagedDataAccess.Core 23.5.0

  • Bug 37054477 - KEEPALIVE: TURNING ON KEEPALIVE SUCCEEDED BUT NO KEEPALIVE PACKAGES ON LINUX
  • Bug 37013827 - PROVIDER SPECIFIC TYPE OBJECTS' TOSTRING() METHODS ARE NOT SENSITIVE TO SESSION'S NLS FORMAT SETTINGS
  • Bug 36937681 - ORA-00917 MISSING COMMA ERROR WHEN USING Ø CHARACTER WITH CHARACTER SET ZHS16GBK
  • Bug 36913251 - EXCEPTION THROWN WHEN ODPM/C 23AI CONFIGURED FOR TAF SELECT FAILOVER
  • Bug 36831777 - LDAP: SPACE BETWEEN DIRECTORY SERVERS IN DIRECTORY_SERVERS CAUSES ORA-12154
  • Bug 36736236 - SETTING THE PORT WHEN USING NOTIFICATIONS CAUSES ORA-50050: THE NOTIFICATION LISTENER IS ALREADY STARTED
  • Bug 36656255 - STATEMENT CACHING NOT PROPERLY HANDLING UNDERLYING TABLE CHANGES

Installation Changes

The following app/web.config entries are added when installing the managed ODP.NET NuGet package to your application:

  1. Configuration Section Handler

A configuration section handler entry is added to the app/web.config to enable applications to add an <oracle.manageddataaccess.client> section for ODP.NET, Managed Driver-specific configuration.

Note: For a web app, if the same config section handler for "oracle.manageddataaccess.client" also exists in machine.config but the "Version" attribute values are different, an error message "There is a duplicate 'oracle.manageddataaccess.client' section defined." may be observed at runtime. To resolve the error, remove the "oracle.manageddataaccess.client" config section handler entry in the machine.config. If other applications on the machine depend on this machine.config entry, move the config section handler entry to each application's web.config file.

  1. DbProviderFactories

The DbProviderFactories entry is added for applications that use DbProviderFactories and DbProviderFactory classes. Any DbProviderFactories entry for "Oracle.ManagedDataAccess.Client" in the machine.config will be ignored.

  1. Dependent Assembly

The dependent assembly entry is created to ignore policy DLLs for Oracle.ManagedDataAccess.dll. It directs the app to always use the Oracle.ManagedDataAccess.dll version that is specified by the "newVersion" attribute in the "bindingRedirect" element. The "newVersion" attribute corresponds to the Oracle.ManagedDataAccess.dll version which came with the NuGet package.

  1. Data Sources

The data sources entry is added to provide a template on how a data source can be configured in the app/web.config. Simply rename the sample data source to an alias of your choosing; modify the PROTOCOL, HOST, PORT, SERVICE_NAME as required; and un-comment the "dataSource" element. Once that is done, the alias can be used as the "data source" attribute in your ODP.NET connection string.

Copyright (c) 2024, Oracle and/or its affiliates.

Product Compatible and additional computed target framework versions.
.NET Framework net472 is compatible.  net48 was computed.  net481 was computed. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

NuGet packages (256)

Showing the top 5 NuGet packages that depend on Oracle.ManagedDataAccess:

Package Downloads
DistributedLock

Provides easy-to-use mutexes, reader-writer locks, and semaphores that can synchronize across processes and machines. This is an umbrella package that brings in the entire family of DistributedLock.* packages (e. g. DistributedLock.SqlServer) as references. Those packages can also be installed individually.

DapperExtensions

A small library that complements Dapper by adding basic CRUD operations (Get, Insert, Update, Delete) for your POCOs. For more advanced querying scenarios, Dapper Extensions provides a predicate system.

Oracle.ManagedDataAccess.EntityFramework

This NuGet package is for ODP.NET, Managed Driver applications that use Code First and/or Entity Framework 6 applications. It will add and configure the Oracle Entity Framework assembly for your application.

EnterpriseLibrary.Data.NetCore

The Data Access Application Block simplifies the development of tasks that implement common data access functionality. Applications can use this application block in a variety of situations, such as reading data for display, passing data through application layers, and submitting changed data back to the database system.

DistributedLock.Oracle

Provides a distributed lock implementation based on Oracle Database

GitHub repositories (35)

Showing the top 5 popular GitHub repositories that depend on Oracle.ManagedDataAccess:

Repository Stars
ServiceStack/ServiceStack
Thoughtfully architected, obscenely fast, thoroughly enjoyable web services for all
dotnetcore/FreeSql
🦄 .NET aot orm, C# orm, VB.NET orm, Mysql orm, Postgresql orm, SqlServer orm, Oracle orm, Sqlite orm, Firebird orm, 达梦 orm, 人大金仓 orm, 神通 orm, 翰高 orm, 南大通用 orm, 虚谷 orm, 国产 orm, Clickhouse orm, DuckDB orm, TDengine orm, QuestDB orm, MsAccess orm.
fluentmigrator/fluentmigrator
Fluent migrations framework for .NET
linq2db/linq2db
Linq to database provider.
nhibernate/nhibernate-core
NHibernate Object Relational Mapper
Version Downloads Last updated
23.6.0 29,462 10/2/2024
23.5.1 61,019 8/16/2024
23.5.0 51,887 7/11/2024
23.4.0 102,919 5/2/2024
23.3.3-dev 737 4/19/2024
23.3.2-dev 2,236 3/11/2024
23.3.1-dev 6,312 12/12/2023
23.3.0-dev 3,061 10/17/2023
23.2.0-dev 5,000 7/29/2023
21.16.0 6,545 10/2/2024
21.15.0 26,955 7/11/2024
21.14.0 67,622 4/11/2024
21.13.0 238,564 1/1/2024
21.12.0 189,171 10/9/2023
21.11.0 188,806 7/25/2023
21.10.0 801,103 4/8/2023
21.9.0 473,840 1/19/2023
21.8.0 174,931 10/18/2022 21.8.0 has at least one vulnerability with high severity.
21.7.0 164,952 8/4/2022 21.7.0 has at least one vulnerability with high severity.
21.6.1 292,488 5/4/2022 21.6.1 has at least one vulnerability with high severity.
21.5.0 266,218 1/4/2022 21.5.0 has at least one vulnerability with high severity.
21.4.0 228,728 10/27/2021 21.4.0 has at least one vulnerability with high severity.
19.25.0 2,367 10/2/2024
19.24.0 10,087 7/11/2024
19.23.0 13,804 4/11/2024
19.22.0 38,358 1/1/2024
19.21.0 35,611 10/9/2023
19.20.0 42,162 7/25/2023
19.19.0 78,850 4/8/2023
19.18.0 177,703 1/19/2023
19.17.0 39,853 10/18/2022 19.17.0 has at least one vulnerability with high severity.
19.16.0 40,066 8/4/2022 19.16.0 has at least one vulnerability with high severity.
19.15.1 98,624 6/7/2022 19.15.1 has at least one vulnerability with high severity.
19.14.0 208,675 1/4/2022 19.14.0 has at least one vulnerability with high severity.
19.13.0 124,684 10/8/2021 19.13.0 has at least one vulnerability with high severity.
19.11.0 1,161,305 3/16/2021 19.11.0 has at least one vulnerability with high severity.
19.10.1 782,500 1/12/2021 19.10.1 has at least one vulnerability with high severity.
19.10.0 336,349 11/16/2020 19.10.0 has at least one vulnerability with high severity.
19.9.0 325,258 9/8/2020 19.9.0 has at least one vulnerability with high severity.
19.8.0 609,596 7/9/2020 19.8.0 has at least one vulnerability with high severity.
19.7.0 555,330 4/21/2020 19.7.0 has at least one vulnerability with high severity.
19.6.0 1,156,769 12/6/2019 19.6.0 has at least one vulnerability with high severity.
19.5.0 332,231 10/16/2019 19.5.0 has at least one vulnerability with high severity.
19.3.1 798,478 7/11/2019 19.3.1 has at least one vulnerability with high severity.
19.3.0 467,057 5/22/2019 19.3.0 has at least one vulnerability with high severity.
18.15.1 10,046 2/3/2023
18.15.0 16,302 8/5/2021
18.6.0 433,608 3/20/2019
18.3.0 1,908,392 8/29/2018
12.2.20230118 26,487 2/3/2023
12.2.20220118 53,356 12/7/2021
12.2.1100 3,466,876 5/31/2017
12.1.24230118 7,016 2/3/2023
12.1.24220118 44,434 12/7/2021
12.1.24160719 1,351,910 9/17/2016
12.1.24160419 463,764 4/27/2016
12.1.2400 957,779 10/14/2015
12.1.22 446,493 6/23/2015
12.1.21 369,377 1/16/2015