Oracle.ManagedDataAccess 19.23.0

Prefix Reserved
There is a newer version of this package available.
See the version list below for details.
dotnet add package Oracle.ManagedDataAccess --version 19.23.0
                    
NuGet\Install-Package Oracle.ManagedDataAccess -Version 19.23.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="19.23.0" />
                    
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="Oracle.ManagedDataAccess" Version="19.23.0" />
                    
Directory.Packages.props
<PackageReference Include="Oracle.ManagedDataAccess" />
                    
Project file
For projects that support Central Package Management (CPM), copy this XML node into the solution Directory.Packages.props file to version the package.
paket add Oracle.ManagedDataAccess --version 19.23.0
                    
#r "nuget: Oracle.ManagedDataAccess, 19.23.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.
#addin nuget:?package=Oracle.ManagedDataAccess&version=19.23.0
                    
Install Oracle.ManagedDataAccess as a Cake Addin
#tool nuget:?package=Oracle.ManagedDataAccess&version=19.23.0
                    
Install Oracle.ManagedDataAccess as a Cake Tool

Oracle.ManagedDataAccess NuGet Package 19.23.0 README

Release Notes: Oracle Data Provider for .NET, Managed Driver

April 2024

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

You have downloaded Oracle Data Provider for .NET. The license agreement is available here: https://www.oracle.com/downloads/licenses/distribution-license.html

TABLE OF CONTENTS *New Features/Changes *Bug Fixes *Installation and Configuration Steps *Installation Changes *Documentation Corrections and Additions *ODP.NET, Managed Driver Tips, Limitations, and Known Issues

Note: The 32-bit "Oracle Developer Tools for Visual Studio" download from https://otn.oracle.com/dotnet is required for Entity Framework design-time features and for other Visual Studio designers such as the TableAdapter Wizard. This NuGet download does not enable design-time tools; it only provides run-time support. This version of ODP.NET supports Oracle Database version 11.2.0.4 and higher.

New Features/Changes

This version of Oracle.ManagedDataAccess nuget package supports .NET Framework 4.6.2 and higher only. Microsoft no longer supports earlier .NET Framework 4.x versions.

Bug Fixes since Oracle.ManagedDataAccess.Core NuGet Package 19.22.0

Bug 36120362 - HIT "ORA-01008" OR "ORA-01722" WHEN EXECUTE QUERY STATEMENT WITH COMMENTS INCLUDING SINGLE QUOTE AND BINDBYNAME = TRUE

Installation and Configuration Steps

The downloads are NuGet packages that can be installed with the NuGet Package Manager. These instructions apply to install ODP.NET, Managed Driver.

  1. Un-GAC and un-configure any existing assembly (i.e. Oracle.ManagedDataAccess.dll) and policy DLL (i.e. Policy.4.122.Oracle.ManagedDataAccess.dll) for the ODP.NET, Managed Driver, version 4.122.19.1 that exist in the GAC. Remove all references of Oracle.ManagedDataAccess from machine.config file, if any exists.

  2. In Visual Studio, open NuGet Package Manager from an existing Visual Studio project.

  3. Install the NuGet package from NuGet Gallery (nuget.org).

    From Local Package Source

    1. Click on the Settings button in the lower left of the dialog box.

    2. Click the "+" button to add a package source. In the Source field, enter in the directory location where the NuGet package(s) were downloaded to. Click the Update button, then the Ok button.

    3. On the left side, under the Online root node, select the package source you just created. The ODP.NET NuGet packages will appear.

    From Nuget.org

    1. In the Search box in the upper right, search for the package with id, "Oracle.ManagedDataAccess". Verify that the package uses this unique ID to ensure it is the official Oracle Data Provider for .NET, Managed Driver download.

    2. Select the package you wish to install.

  4. Click on the Install button to select the desired NuGet package(s) to include with the project. Accept the license agreement and Visual Studio will continue the setup.

  5. Open the app/web.config file to configure the ODP.NET connection string and connect descriptors. Below is an example of configuring the net service aliases and connect descriptors parameters:

<oracle.manageddataaccess.client> <version number="*"> <dataSources>

    <dataSource alias="MyDataSource" descriptor="(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=localhost)(PORT=1521))(CONNECT_DATA=(SERVICE_NAME=ORCL))) " />
  </dataSources>
</version>

</oracle.manageddataaccess.client>

After following these instructions, ODP.NET is now configured and ready to use.

IMPORTANT: Oracle recommends configuring net service aliases and connect descriptors in a .NET config file to have the application configuration be self-contained rather than using tnsnames.ora or TNS_ADMIN.

NOTE: ODP.NET, Managed Driver comes with one set of platform specific assemblies for Kerberos support: Oracle.ManagedDataAccessIOP.dll.

The Oracle.ManagedDataAccessIOP.dll assembly is ONLY needed if you are using Kerberos5 based external authentication. Kerberos5 users will need to download MIT Kerberos for Windows version 4.0.1 from https://web.mit.edu/kerberos/dist/ to utilize ODP.NET, Managed Driver's support of Kerberos5.

The asssemblies are located under packages\Oracle.ManagedDataAccess.<version>\bin\x64 and packages\Oracle.ManagedDataAccess.<version>\bin\x86 depending on the platform.

If these assemblies are required by your application, your Visual Studio project requires additional changes.

Use the following steps for your application to use the 64-bit version of Oracle.ManagedDataAccessIOP.dll:

  1. Right click on the Visual Studio project.
  2. Select Add → New Folder.
  3. Name the folder x64.
  4. Right click on the newly created x64 folder.
  5. Select Add → Existing Item.
  6. Browse to packages\Oracle.ManagedDataAccess.<version>\bin\x64 under your project solution directory.
  7. Choose Oracle.ManagedDataAccessIOP.dll.
  8. Click the 'Add' button.
  9. Left click the newly added Oracle.ManagedDataAccessIOP.dll in the x64 folder.
  10. In the properties window, set 'Copy To Output Directory' to 'Copy Always'.

For x86 targeted applications, name the folder x86 and add assemblies from the packages\Oracle.ManagedDataAccess.<version>\bin\x86 folder.

To make your application platform independent even if it depends on Oracle.ManagedDataAccessIOP.dll, create both x64 and x86 folders with the necessary assemblies added to them.

Installation Changes

The following app/web.config entries are added by including the ODP.NET, Managed Driver NuGet package to your application:

  1. Configuration Section Handler

The following 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:

<configuration> <configSections> <section name="oracle.manageddataaccess.client" type="OracleInternal.Common.ODPMSectionHandler, Oracle.ManagedDataAccess, Version=4.122.19.1, Culture=neutral, PublicKeyToken=89b483f429c47342" /> </configSections> </configuration>

Note: If your application is a web application and the above entry was added to a web.config and the same config section handler for "oracle.manageddataaccess.client" also exists in machine.config but the "Version" attribute values are different, an error message of "There is a duplicate 'oracle.manageddataaccess.client' section defined." may be observed at runtime. If so, the config section handler entry in the machine.config for "oracle.manageddataaccess.client" has to be removed from the machine.config for the web application to not encounter this error. But given that there may be other applications on the machine that depended on this entry in the machine.config, this config section handler entry may need to be moved to all of the application's .NET config file on that machine that depend on it.

  1. DbProviderFactories

The following entry is added for applications that use DbProviderFactories and DbProviderFactory classes. Also, any DbProviderFactories entry for "Oracle.ManagedDataAccess.Client" in the machine.config will be ignored with the following entry:

<configuration> <system.data> <DbProviderFactories> <remove invariant="Oracle.ManagedDataAccess.Client" /> <add name="ODP.NET, Managed Driver" invariant="Oracle.ManagedDataAccess.Client" description="Oracle Data Provider for .NET, Managed Driver" type="Oracle.ManagedDataAccess.Client.OracleClientFactory, Oracle.ManagedDataAccess, Version=4.122.19.1, Culture=neutral, PublicKeyToken=89b483f429c47342" /> </DbProviderFactories> </system.data> </configuration>

  1. Dependent Assembly

The following entry is created to ignore policy DLLs for Oracle.ManagedDataAccess.dll and 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 associated with the application.

<configuration> <runtime> <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1"> <dependentAssembly> <publisherPolicy apply="no" /> <assemblyIdentity name="Oracle.ManagedDataAccess" publicKeyToken="89b483f429c47342" culture="neutral" /> <bindingRedirect oldVersion="4.122.0.0 - 4.65535.65535.65535" newVersion="4.122.19.1" /> </dependentAssembly> </assemblyBinding> </runtime> </configuration>

  1. Data Sources

The following entry is added to provide a template on how a data source can be configured in the app/web.config. Simply rename "MyDataSource" to an alias of your liking and 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 connection string when connecting to an Oracle Database through ODP.NET, Managed Driver.

<configuration> <oracle.manageddataaccess.client> <version number="*"> <dataSources> <dataSource alias="SampleDataSource" descriptor="(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=localhost)(PORT=1521))(CONNECT_DATA=(SERVICE_NAME=ORCL))) " /> </dataSources> </version> </oracle.manageddataaccess.client> </configuration>

Documentation Corrections and Additions

None

ODP.NET, Managed Driver Tips, Limitations, and Known Issues

None

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

Product Compatible and additional computed target framework versions.
.NET Framework net462 is compatible.  net463 was computed.  net47 was computed.  net471 was computed.  net472 was computed.  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 (255)

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 (39)

Showing the top 20 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, VB.NET/C# orm, Mysql/PostgreSQL/SqlServer/Oracle orm, Sqlite/Firebird/Clickhouse/DuckDB orm, 达梦/金仓/虚谷/翰高/高斯 orm, 神通 orm, 南大通用 orm, 国产 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
madelson/DistributedLock
A .NET library for distributed synchronization
tmsmith/Dapper-Extensions
Dapper Extensions is 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. The goal of this library is to keep your POCOs pure by not requiring any attributes or base class inheritance.
ServiceStack/ServiceStack.OrmLite
Fast, Simple, Typed ORM for .NET
jonwagner/Insight.Database
Fast, lightweight .NET micro-ORM
dotnet/dotnet-api-docs
.NET API reference documentation (.NET 5+, .NET Core, .NET Framework)
aelassas/wexflow
Workflow Engine and Automation Platform
elastic/apm-agent-dotnet
zzzprojects/EntityFramework.DynamicFilters
Global filtering for Entity Framework.
DataDog/dd-trace-dotnet
.NET Client Library for Datadog APM
TeslaFly01/SmartSqlT
🔥🔥🔥 SmartSQL 是一款方便、快捷的数据库文档查询、导出工具!该工具从最初支持CHM文档格式开始,通过不断地探索开发、集思广益和不断改进,又陆续支持Word、Excel、PDF、Html、Xml、Json、MarkDown等文档格式的导出。同时支持SqlServer、MySql、PostgreSQL、SQLite等多种数据库的文档查询和导出功能。
yuzd/AntData.ORM
特色:vs插件或者t4一键生成entity 支持配置非物理外键。分离linq转sql引擎(原生linq非扩展)和执行dal功能,支持异步,支持netcore2.0
DapperLib/DapperAOT
Build time tools in the flavor of Dapper
whywhy898/DDit-Rapid-Development-Framework
帮助企业快速开发的.net项目框架 Help companies develop the.net project framework
Coldairarrow/Colder.Fx.Net.AdminLTE
A Web Rapid Development Framework For .NET4.472 Based On AdminLTE
igor-tkachev/bltoolkit
Business Logic Toolkit for .NET
Version Downloads Last updated
23.8.0 62,150 4/4/2025
23.7.0 162,057 12/24/2024
23.6.1 95,361 11/7/2024
23.6.0 78,326 10/2/2024
23.5.1 123,052 8/16/2024
23.5.0 73,117 7/11/2024
23.4.0 179,699 5/2/2024
23.3.3-dev 866 4/19/2024
23.3.2-dev 2,650 3/11/2024
23.3.1-dev 7,100 12/12/2023
23.3.0-dev 3,228 10/17/2023
23.2.0-dev 5,303 7/29/2023
21.18.0 11,704 4/4/2025
21.17.0 43,586 12/24/2024
21.16.0 35,045 10/2/2024
21.15.0 70,356 7/11/2024
21.14.0 103,016 4/11/2024
21.13.0 376,617 1/1/2024
21.12.0 271,112 10/9/2023
21.11.0 237,865 7/25/2023
21.10.0 1,118,915 4/8/2023
21.9.0 650,680 1/19/2023
21.8.0 203,882 10/18/2022 21.8.0 has at least one vulnerability with high severity.
21.7.0 185,435 8/4/2022 21.7.0 has at least one vulnerability with high severity.
21.6.1 312,179 5/4/2022 21.6.1 has at least one vulnerability with high severity.
21.5.0 301,860 1/4/2022 21.5.0 has at least one vulnerability with high severity.
21.4.0 265,008 10/27/2021 21.4.0 has at least one vulnerability with high severity.
19.27.0 3,275 4/4/2025
19.26.0 17,290 12/24/2024
19.25.0 14,076 10/2/2024
19.24.0 20,380 7/11/2024
19.23.0 24,004 4/11/2024
19.22.0 81,323 1/1/2024
19.21.0 55,501 10/9/2023
19.20.0 84,293 7/25/2023
19.19.0 102,253 4/8/2023
19.18.0 309,063 1/19/2023
19.17.0 43,893 10/18/2022 19.17.0 has at least one vulnerability with high severity.
19.16.0 46,349 8/4/2022 19.16.0 has at least one vulnerability with high severity.
19.15.1 104,877 6/7/2022 19.15.1 has at least one vulnerability with high severity.
19.14.0 243,960 1/4/2022 19.14.0 has at least one vulnerability with high severity.
19.13.0 156,125 10/8/2021 19.13.0 has at least one vulnerability with high severity.
19.11.0 1,547,103 3/16/2021 19.11.0 has at least one vulnerability with high severity.
19.10.1 814,380 1/12/2021 19.10.1 has at least one vulnerability with high severity.
19.10.0 369,052 11/16/2020 19.10.0 has at least one vulnerability with high severity.
19.9.0 362,347 9/8/2020 19.9.0 has at least one vulnerability with high severity.
19.8.0 712,371 7/9/2020 19.8.0 has at least one vulnerability with high severity.
19.7.0 603,731 4/21/2020 19.7.0 has at least one vulnerability with high severity.
19.6.0 1,224,694 12/6/2019 19.6.0 has at least one vulnerability with high severity.
19.5.0 348,605 10/16/2019 19.5.0 has at least one vulnerability with high severity.
19.3.1 841,795 7/11/2019 19.3.1 has at least one vulnerability with high severity.
19.3.0 495,211 5/22/2019 19.3.0 has at least one vulnerability with high severity.
18.15.1 14,114 2/3/2023
18.15.0 17,790 8/5/2021
18.6.0 463,373 3/20/2019
18.3.0 2,104,851 8/29/2018
12.2.20230118 35,406 2/3/2023
12.2.20220118 56,507 12/7/2021
12.2.1100 3,670,844 5/31/2017
12.1.24230118 8,794 2/3/2023
12.1.24220118 59,497 12/7/2021
12.1.24160719 1,434,088 9/17/2016
12.1.24160419 503,851 4/27/2016
12.1.2400 1,033,344 10/14/2015
12.1.22 469,114 6/23/2015
12.1.21 413,675 1/16/2015