Changes in This Release for Oracle Data Provider for .NET

This section describes new features added for each ODP.NET release. A summary of these new features by release are also available on Oracle's Web site.

Changes in Oracle Data Provider for .NET Release 21c (21.12)

The following are the changes in Oracle Data Provider for .NET for Release 21c (21.12).

New Features

The following features are new in this release:

  • .NET 8 Runtime

    ODP.NET Core is certified for .NET 8.

  • Entity Framework Core 8

    ODP.NET Entity Framework (EF) Core now supports Entity Framework Core 8 with Oracle databases. ODP.NET EF Core 21.12.1 or higher is required.

Changes in Oracle Data Provider for .NET Release 21c (21.8)

The following are the changes in Oracle Data Provider for .NET for Release 21c (21.8).

New Features

The following features are new in this release:

  • .NET 7 Runtime

    ODP.NET Core is certified for .NET 7.

  • Entity Framework Core 7

    ODP.NET Entity Framework (EF) Core now supports Entity Framework Core 7 with Oracle databases. Entity Framework Core is a cross-platform Microsoft object-relational mapper that enables .NET developers to work with relational databases using .NET objects.

Changes in Oracle Data Provider for .NET Release 21c (21.7)

The following are the changes in Oracle Data Provider for .NET for Release 21c (21.7).

New Features

The following feature is new in this release:

  • Managed ODP.NET and ODP.NET Core -- Azure Active Directory

    Managed ODP.NET and ODP.NET Core 21.7 support Azure Active Directory (AAD) authentication when connecting to Oracle Database. ODP.NET will then use an access token to authenticate instead of an username and password.

    This feature benefits applications and services that use AAD for centralized user authentication with Oracle database. Those services can include Azure and Microsoft 365-based cloud services, such as Microsoft Power BI service, that rely on AAD for user management.

    Using token-based authentication is more secure and simpler for the end user. It becomes unnecessary to specify credentials each time the user accesses a resource. Moreover, the resource never needs to handle and manage individual user credentials.

Changes in Oracle Data Provider for .NET Release 21c (21.6.1)

The following are the changes in Oracle Data Provider for .NET for Release 21c (21.6.1).

New Features

The following feature is new in this release:

  • Managed ODP.NET and ODP.NET Core - Oracle Identity and Access Management Cloud Service Enhancements

    ODP.NET adds more support for Oracle Identity and Access Management (IAM) cloud service for unified identity across Oracle cloud services for the managed and core drivers. ODP.NET can use the same Oracle IAM credentials for authentication and authorization.

    This capability allows single sign-on and for identity to be propagated to all services Oracle IAM supports. A unified identity makes user management and account management easier for administrators and end users.

    Managed ODP.NET adds support for IAM database password verifier, token, and database alternate password for token authentication.

    ODP.NET Core already has support for IAM database password verifier and token. This new version adds database alternate password for token authentication in ODP.NET Core.

  • ODP.NET Core - Multi-Platform Secure External Password Store

    The Secure External Password Store (SEPS) is the use of a client-side wallet for securely storing the password credentials. ODP.NET Core can now be configured to use the external password store on any operating system it supports beyond just Windows.

    An Oracle wallet is a container that securely stores authentication and signing credentials. Wallets can simplify large-scale deployments that rely on password credentials for database connections. Applications no longer need embedded user names and passwords, which reduces security risk.

Changes in Oracle Data Provider for .NET Release 21c (21.5)

The following are the changes in Oracle Data Provider for .NET for Release 21c (21.5).

New Features

The following feature is new in this release:

  • Unmanaged ODP.NET – One-way TLS/SSL with Built-in Truspoints (Walletless)

    Unmanaged ODP.NET now supports one-way Transport Layer Security/Secure Sockets Layer without wallets. Not having to provide a wallet can simplify database connectivity, such as with Oracle Autonomous Database.

Changes in Oracle Data Provider for .NET Release 21c (21.4.1)

The following are the changes in Oracle Data Provider for .NET for Release 21c (21.4.1).

New Features

The following features are new in this release:

  • .NET 6 Runtime Certification

    ODP.NET Core is certified for .NET 6.

  • Entity Framework Core 6

    ODP.NET Entity Framework (EF) Core now supports Entity Framework Core 6 with Oracle databases. Entity Framework Core is a cross-platform Microsoft object-relational mapper that enables .NET developers to work with relational databases using .NET objects.

  • ODP.NET Core - Oracle Identity and Access Management Cloud Service

    ODP.NET supports Oracle Identity and Access Management (IAM) cloud service for unified identity across Oracle cloud services, including Oracle Cloud Database Services, with the core driver. ODP.NET can use the same Oracle IAM credentials for authentication and authorization.

    This capability allows single sign-on and for identity to be propagated to all services Oracle IAM supports. A unified identity makes user management and account management easier for administrators and end users.

Changes in Oracle Data Provider for .NET Release 21c (21.4)

The following are the changes in Oracle Data Provider for .NET for Release 21c (21.4).

New Features

The following features are new in this release:

  • Managed ODP.NET and ODP.NET Core – One-way TLS/SSL with Built-in Truspoints (Walletless)

    ODP.NET core and managed now support one-way Transport Layer Security/Secure Sockets Layer without wallets. Not having to provide a wallet can simplify database connectivity, such as with Oracle Autonomous Database.

  • ODP.NET Core -- Ubuntu and Debian Linux

    ODP.NET Core add certification for additional Linux distributions: Ubuntu and Debian.

Changes in Oracle Data Provider for .NET Release 21c (21.3)

The following are the changes in Oracle Data Provider for .NET for Release 21c (21.3).

New Features

The following feature is new in this release:

  • Managed ODP.NET and ODP.NET Core – User-Defined Types

    ODP.NET Core and managed providers now support user-defined types (UDT), including Oracle Collections (VARRAY and nested tables), Oracle Objects, and references (REF) to object types. These new features provide near-parity functionality with existing ODP.NET, Unmanaged Driver UDT functionality. This new enhancement allows the vast majority of unmanaged ODP.NET applications to migrate to managed ODP.NET or ODP.NET Core easily with minimal code changes necessary.

  • OracleConfiguration SqlnetURI Setting

    ODP.NET OracleConfiguration SqlnetURI property is being renamed to SqlNetURI. This setting specifies the WebSocket universal resource identifier. The change reflects improved adherence to .NET's PascalCasing capitalization convention. If you currently use the property, then please modify your code accordingly.

Deprecated Features

The following property and setting are deprecated in Oracle Data Provider for .NET for Release 21c:

  • OracleConfiguration DirectoryType property

  • Configuration file DIRECTORY_TYPE setting

    The OracleConfiguration DirectoryServerType property replaces the DirectoryType property. The .NET configuration file DIRECTORY_SERVER_TYPE setting replaces the DIRECTORY_TYPE setting. All these properties have identical functionality. Oracle recommends developers to use and migrate to the new properties. The DirectoryServerType and DIRECTORY_SERVER_TYPE names better align with the ldap.ora parameter DIRECTORY_SERVER_TYPE, which provides equivalent functionality.

  • Deprecation of Oracle Database Extensions for .NET

See Also:

Deprecation of Oracle Database Extensions for .NET

Oracle Database Extensions for .NET is deprecated in Oracle Database 21c. Oracle recommends that you either place .NET code in the middle tier, or use the External Procedures feature, or rewrite the code using PL/SQL or Java.

Oracle Database Extensions for .NET is a feature of Oracle Database on Microsoft Windows that enables you to use stored procedures and functions written in a language managed by .NET, such as C#.

Oracle Database hosts the Microsoft Common Language Runtime (CLR) in an external process, outside of the Oracle Database process. Application developers can write stored procedures and functions using any .NET compliant language, such as C# and VB.NET, and use these .NET stored procedures in the database, in the same manner as other PL/SQL or Java stored procedures. .NET stored procedures can be called from PL/SQL packages, procedures, functions, and triggers; from SQL statements; or from anywhere a PL/SQL procedure or function can be called.

Migration options include:

  • Moving the .NET code (assemblies) into a middle tier
  • Using the External Procedures feature to have the external process load and execute the .NET assembly
  • Rewriting the stored procedures using PL/SQL or Java

Changes in Oracle Data Provider for .NET (21.1)

The following are the changes in Oracle Data Provider for .NET (21.1).

New Features

The following features are new in this release:

  • Entity Framework Core 5

    ODP.NET Entity Framework (EF) Core now supports Entity Framework Core 5 with Oracle databases. Entity Framework Core is a cross-platform Microsoft object-relational mapper that enables .NET developers to work with relational databases using .NET objects.

  • Oracle Database JSON Data Type

    ODP.NET supports the native JavaScript Object Notation (JSON) data type in Oracle Database. The new JSON data type is optimized for query and DML processing, yielding database performance improvements processing JSON.

    When using a .NET string or OracleString, JSON data can be bound as a parameter using the OracleDbType.Json enumeration value. ODP.NET Core, managed, and unmanaged all support these new JSON features.

  • Client Initiated Continuous Query Notification

    Client Initiated Continuous Query Notification (CICQN) is similar to the traditional Continuous Query Notification (CQN) feature available in ODP.NET. In CQN, applications receive client-side notifications when server side change occurs that would affect the client’s query result set, the underlying schema objects, or the database state. This notification is out of process, occurring without an existing ODP.NET connection.

    CICQN uses in-process notifications. ODP.NET creates one separate connection per pool for receiving notifications. The database server uses this specific connection to send change notifications to ODP.NET. CICQN is useful when out of process communications is not available between client and database server, such as in cloud deployments.

  • Managed ODP.NET and ODP.NET Core – Sharding

    ODP.NET Core and managed providers now support sharding. Oracle Sharding provides the ability to horizontally partition the data across multiple independent Oracle databases (shards). Based on a key specified in the connect string, ODP.NET can route the database requests to a particular shard. Oracle Sharding is a shared-nothing architecture that allows near-linear scaling of the database across low-cost commodity database servers located in one or more local or global data centers. Other key benefits include global data distribution (store particular data close to consumers) and fault containment (failure of one shard does not affect the availability of other shards). Global Data Services manages the location of data among the shards and allows ODP.NET client requests to be routed to the appropriate shard in this distributed database system.

    In addition to the same sharding functionality that unmanaged ODP.NET supports, ODP.NET managed and core also support pausing connection requests during chunk migrations. Users will not experience a timeout without giving the chunk migration sufficient times to move across shards.

    See Also:

    Database Sharding

  • New Administrative Privileges

    ODP.NET now supports assignment of task-specific and least-privileged administrative privileges to enable database administrative duty separation. The newly added privileges include SYSBACKUP for backup and recovery, SYSDG for Oracle Data Guard, SYSKM for encryption key management, and SYSRAC for Oracle Real Applications Clusters operations. Core, managed, and unmanaged ODP.NET support all these administrative privileges.

  • Managed ODP.NET and ODP.NET Core-- Debug Tracing Redaction

    Managed ODP.NET and ODP.NET Core has introduced a new trace level, that can exclude SQL statements and network packet contents from being included in the trace file.

    See Also:

    Debug Tracing

Changes in Oracle Data Provider for .NET (19.15.1)

The following are the changes in Oracle Data Provider for .NET (19.15.1).

New Features

The following feature is new in this release:

  • Azure Active Directory

    Starting with ODP.NET 21.7 and 19.15.1, ODP.NET supports Azure Active Directory (AAD) authentication when connecting to Oracle Database. ODP.NET will then use an access token to authenticate instead of a username and password.

    This feature benefits applications and services that use AAD for centralized user authentication with Oracle database. Those services can include Azure and Microsoft 365-based cloud services, such as Microsoft Power BI service, that rely on AAD for user management.

    Using token-based authentication is more secure and simpler for the end user. It becomes unnecessary to specify credentials each time the user accesses a resource. Moreover, the resource never needs to handle and manage individual user credentials.

Changes in Oracle Data Provider for .NET (19.10)

The following are the changes in Oracle Data Provider for .NET (19.10).

New Features

The following features are new in this release:

  • .NET 5 Runtime Certification

    ODP.NET Core is certified for .NET 5.

  • Managed ODP.NET and ODP.NET Core -- Bulk Copy

    ODP.NET Bulk Copy enables applications to efficiently load large amounts of data from a table in one database to another table in a different database. Managed ODP.NET and ODP.NET Core now support Bulk Copy and all its APIs.

    ODP.NET Bulk Copy is the most optimized .NET solution when a large data set needs to loaded into a table or between database tables in different databases.

    See Also:

    Bulk Copy

  • Oracle Provider Types Deserialization into DataSet and DataTable

    Due to a change in all .NET versions to enhance application security, the allowed DataSet and DataTable data types that can be deserialized are now restricted. This change applies to .NET 5, .NET Core, and .NET Framework with new updates. If application DataSets and DataTables use ODP.NET data types with one of these newer .NET versions, then they may encounter an ODP.NET type initializer exception. To avoid this exception, developers can add ODP.NET-specific data types to the “allow” list to permit deserialization into DataSet or DataTable.

    To do this, call the OracleConfiguration AddOracleTypesDeserialization method or add the types individually via a .NET configuration file.

  • ODP.NET Core -- KeepAlive on non-Windows platforms

    KeepAlive is supported on non-Windows operating systems, such as Oracle Linux. In previous releases, ODP.NET Core supported these KeepAlive properties for Windows platforms only. The properties include KeepAlive, KeepAliveInterval, and KeepAliveTime.

    KeepAlive is used to prevent idle TCP connections from being closed, such as by a firewall or load balancer. In some cloud deployments, this idle TCP connection timeout cannot be changed. KeepAlive will keep the connection alive by periodically sending a probe packet with no data in it and the ACK flag turned on.

  • Suppress GetDecimal Invalid Cast Exception

    The SuppressGetDecimalInvalidCastException property has been added to the OracleDataReader and OracleDataAdapter classes. When enabled and GetDecimal is called on the OracleDataReader object explicitly by the application or implicitly through the Fill() method on the OracleDataAdapter object, for example, it suppresses the InvalidCastException and returns a rounded-off 28 or 29 precision .NET decimal value, that represents the Oracle NUMBER.

  • ODP.NET Core -- LDAP for Non-Windows Platforms

    ODP.NET Core now supports connecting with net service names mapped to connect descriptors in an LDAP-compliant directory server from all non-Windows operating systems the provider supports, such as Oracle Linux and Red Hat Enterprise Linux. Now ODP.NET Core apps on all platforms can use LDAP authentication to connect to Oracle Database.

Changes in Oracle Data Provider for .NET (19.9)

The following are the changes in Oracle Data Provider for .NET (19.9).

New Features

The following feature is new in this release:

  • In-Band Fast Application Notification

    In some scenarios, such as cloud deployments and when firewalls block notification messages between the database and client, out of band messages and using Oracle Notification Service may not be possible. ODP.NET can use in-band FAN notifications instead in these scenarios. In-band notifications rely on existing ODP.NET connections to communicate messages. ODP.NET will check for notifications every time a connection makes a database round trip, is checked in, or checked out. When a DOWN notification is received, ODP.NET will scan the pool for affected connections and close them.

    This feature was introduced with managed ODP.NET and ODP.NET Core in 19.9. It was introduced in unmanaged ODP.NET in 19.10.

Changes in Oracle Data Provider for .NET ODAC Release 19c (19.3.2)

The following are the changes in Oracle Data Provider for .NET for ODAC Release 19c (19.3.2).

New Features

The following features are new in this release:

  • Entity Framework Core 3.1

    ODP.NET Entity Framework (EF) Core now supports Entity Framework Core 3.1 with Oracle databases. Entity Framework Core is a cross-platform Microsoft object-relational mapper that enables .NET developers to work with relational databases using .NET objects. This ODP.NET EF Core release adds support for relational views and materialized views. These views can be read-only or updatable.

    Oracle EF Core 3.1 developers can now create and migrate data models in the Oracle Database. They can scaffold EF Core classes based on an Oracle Database schema objects. They can migrate and scaffold with Oracle views. Oracle EF Core is integrated with popular EF Core tools, such as the EF Core Package Manager Tools.

Changes in Oracle Data Provider for .NET (19.7)

The following are the changes in Oracle Data Provider for .NET (19.7).

New Features

The following features are new in this release:

  • Managed ODP.NET and ODP.NET Core -- Administer Storage using SYSASM Privilege

    Oracle Automatic Storage Management (Oracle ASM) is a volume manager and a file system for Oracle database files. SYSASM is a system privilege that enables administrators to manage ASM instances. Managed ODP.NET and ODP.NET Core can now connect using the SYSASM administrative privilege to perform storage management of the Oracle Database.

    ODP.NET can now perform database ASM administration when connecting with a SYSASM privileged connection.

  • WebSocket and WebSocket with SSL/TLS

    WebSocket is a protocol that offers full-duplex communication channels over a single TCP connection. WebSocket with SSL/TLS offers a secure WebSocket connection. WebSocket is an extension to HTTP and is able to work with HTTP proxies and intermediaries. ODP.NET Core, managed, and unmanaged providers all support WebSocket and secure WebSocket protocols.

    See Also:

    Using WebSocket

Changes in Oracle Data Provider for .NET (19.6)

The following are the changes in Oracle Data Provider for .NET (19.6).

New Features

The following features are new in this release:

  • .NET Core 3.1 Certification

    ODP.NET Core is certified for .NET Core 3.1.

  • Linux 8 Certification

    ODP.NET Core is certified on Oracle Linux 8 and Red Hat Enterprise Linux 8.

  • Entity Framework 6.4 Certification

    Managed and unmanaged ODP.NET Entity Framework is certified for Entity Framework 6.4.

Changes in Oracle Data Provider for .NET (19.5)

The following are the changes in Oracle Data Provider for .NET (19.5).

New Features

The following features are new in this release:

  • .NET Core 3 Certification

    ODP.NET Core is certified for .NET Core 3.

  • Entity Framework Core 2.1 Certification

    ODP.NET Entity Framework Core is certified for EF Core 2.1.

Changes in Oracle Data Provider for .NET in ODAC Release 19c (19.3)

The following are the changes in Oracle Data Provider for .NET for ODAC Release 19c (19.3).

New Features

The following features are new in this release:

  • Entity Framework Core

    ODP.NET Entity Framework (EF) Core is a database provider that allows Entity Framework Core to be used with Oracle databases. Entity Framework Core is a cross-platform Microsoft object-relational mapper that enables .NET developers to work with relational databases using .NET objects.

    Oracle EF Core developers can now create and migrate data models in the Oracle Database. They can reverse engineer/scaffold EF Core classes based on an Oracle Database schema. Oracle EF Core is integrated with popular EF Core tools, such as the EF Core Package Manager Tools.

  • Managed ODP.NET and ODP.NET Core -- More Configuration Options with New OracleConnection Properties

    OracleConnection class introduces additional properties to configure ODP.NET connections. The new properties are:

    • KeepAlive, KeepAliveInterval, and KeepAliveTime - specifies whether and the conditions under which to keep idle connections alive

    • TnsAdmin - specifies the tnsnames.ora and sqlnet.ora directory

    • WalletLocation - specifies the wallet directory location

  • Unmanaged ODP.NET -- Administer Storage using SYSASM Privilege

    Oracle Automatic Storage Management (Oracle ASM) is a volume manager and a file system for Oracle database files. SYSASM is a system privilege that enables administrators to manage ASM instances. Unmanaged ODP.NET can now connect using the SYSASM administrative privilege to perform storage management of the Oracle Database.

    ODP.NET can now perform database ASM administration when connecting with a SYSASM privileged connection.

  • Dynamically Enabled Tracing and Size Limits

    To improve diagnostics ease of use and productivity, ODP.NET trace output can now be enabled and disabled at runtime using the OracleConfiguration.TraceLevel property. To keep trace files down to a manageable size, the TraceFileMaxSize property can be set.

    Administrators can isolate tracing to only known times or events when problems occur. This feature helps keep trace files down to the minimum size needed to investigate issues. If a trace file does become large, ODP.NET will write to a new trace file once the maximum file limit that is set in TraceFileMaxSize is reached. These features are available with core, managed, and unmanaged providers.

Changes in Oracle Data Provider for .NET Release 19c (19.3)

The following are the changes in Oracle Data Provider for .NET for Release 19c (19.3).

New Features

The following features are new in this release:

  • .NET Framework 4.8 Certification

    ODP.NET Core, Managed, and Unmanaged Drivers are certified with .NET Framework 4.8.

  • ODP.NET, Managed Driver -- Configuration as Code

    Managed ODP.NET now supports OracleConfiguration, OracleDataSourceCollection, and OracleOnsServerCollection classes.

    These classes allow developers to configure managed ODP.NET within source code in lieu of .NET configuration and Oracle configuration files.

  • ODP.NET Core -- Lightweight Directory Access Protocol (LDAP)

    ODP.NET Core can use connect identifiers mapped to connect descriptors in an LDAP-compliant directory server, such as Oracle Internet Directory and Microsoft Active Directory. The provider supports the same LDAP features and settings as managed ODP.NET.

    ODP.NET Core LDAP support is available on Windows operating systems only. It requires the System.DirectoryServices namespace.

  • ODP.NET Core -- Performance Counters

    ODP.NET Core can publish key runtime connection counters to Windows Performance Monitor or a file. The provider supports the same counters, setup process, and settings as managed and unmanaged ODP.NET.

    ODP.NET Core performance counters are available on Windows operating systems only. They require System.Diagnostics namespace in using performance counters programmatically.

  • Easy Connect Plus

    Oracle Easy Connect Plus provides a simple way to configure TCP/IP connections to the Oracle Database without having to use parameter files, such as tnsnames.ora, nor environment variables. Easy Connect Plus includes support for:

    • TCP/IP with SSL/TLS

    • Any SQL*Net description level parameter can be used

    • Multiple hosts and ports

    • A straightforward name-value pair format

    Easy Connect Plus supports more configurations and a wider breadth of ODP.NET applications than traditional Easy Connect, including clustered or cloud databases.

  • More Secure Oracle Notification Service Connections

    ODP.NET now enables Oracle Notification Service (ONS) communications to occur over TCP/IP with SSL/TLS (TCPS), which is more secure than just TCP/IP. As TCPS requires using a wallet for storing keys and certificates, ODP.NET can use one wallet for both ONS and ODP.NET connections or have separate wallets for each.

    TCPS provides more secure ONS communication, gives administrators flexibility in how to configure their wallets, and enables cloud database connections.

Changes in Oracle Data Provider for .NET in ODAC Release 18c (18.3)

The following are the changes in Oracle Data Provider for .NET for ODAC Release 18c (18.3).

New Features

The following features are new in this release:

Changes in Oracle Data Provider for .NET Release 18c (18.3)

The following are the changes in Oracle Data Provider for .NET for Release 18c (18.3).

New Features

The following features are new in this release:

  • .NET Framework 4.7.x Certification

    ODP.NET, Managed and Unmanaged Drivers are certified for all versions of .NET Framework 4.7.x, including 4.7.1 and 4.7.2.

  • Secure Passwords with OracleCredential

    ODP.NET OracleCredential class allows application developers to store user names and passwords outside of the connection string without exposure in a memory dump.

    OracleCredential can be used with or without connection pooling.

    This feature is available in the terminal releases of ODP.NET 11.2, 12.1, and 12.2 and with the first release of ODP.NET 18c.

    See Also Connection Pooling with OracleCredential

Desupported Features

Some features previously described in this document are desupported in Oracle Database 18c (18.3). See Oracle Database Upgrade Guide for a complete list of desupported features.

The following feature is no longer supported by Oracle:

  • Oracle.ManagedDataAccessDTC.dll

Changes in Oracle Data Provider for .NET in ODAC 12.2c Release 1

The following are the changes in Oracle Data Provider for .NET for ODAC 12.2c Release 1.

New Features

The following features are new in this release:

  • .NET Framework 4.7 Certification

    ODP.NET, Managed and Unmanaged Drivers are certified for .NET Framework 4.7.

  • Entity Framework 6.2 Certification

    ODP.NET, Managed and Unmanaged Drivers are certified for Entity Framework 6.2.

  • Database Resident Connection Pooling

    Database Resident Connection Pooling (DRCP) optimizes resource usage by pooling connections at the database server level. With DRCP, server connections can be shared across application that are executed on different client machines, especially in the case when connections are not always in use. DRCP can be used in conjunction with either managed or unmanaged ODP.NET client side pooling to improve scalability and lower resource usage at the database server level.

    See also Database Resident Connection Pooling for more information.

  • Multitenant and Pluggable Databases Connection Pooling

    Oracle Multitenant is a database architecture that enables customers to easily consolidate multiple pluggable databases without changing their application. This architecture delivers all the benefits of managing many databases as one, yet retains the isolation and resource prioritization of separate databases.

    Managed and unmanaged ODP.NET now support hosting connections to multiple pluggable databases from the same connection pool. This feature enhances application performance and scalability, plus makes using multiple pluggable databases from the same application easier.

    See also Oracle Multitenant and Pluggable Databases for more information.

  • Edition-Based Redefinition Connection Pooling

    Edition-based redefinition enables applications to upgrade the database component while it is in use, thereby minimizing or eliminating down time. Managed and unmanaged ODP.NET now support using the same connection pool to connect to multiple Editions. This feature enhances performance and scalability while using different Editions from the same application, and also makes using multiple Editions from the same application easier.

    See also Edition-Based Redefinition for more information.

  • Connection Configuration Upon Open

    Managed and unmanaged ODP.NET introduce the ConnectionOpen event handler, which allows developers to provide setup logic and change settings before ODP.NET connections are dispensed from the Open() method invocation. This feature is similar in concept to a logon trigger, but is most optimal for client side initialization settings. It works with both pooled and non-pooled connections. The event handler provides a centralized, standardized location for connection initialization.

    See also ConnectionOpen for more information.

Deprecated Features

The following feature is deprecated in ODAC 12.2c Release 1:

  • Oracle.ManagedDataAccessDTC.dll

Changes in Oracle Data Provider for .NET Release 12.2.0.1

The following are the changes in Oracle Data Provider for .NET for Release 12.2.0.1.

New Features

The following features are new in this release:

  • .NET Framework 4.6.2 Certification

    ODP.NET, Managed and Unmanaged Drivers are certified for .NET Framework 4.6.2.

    See also System Requirements for more information.

  • .NET Cloud Development and Deployment

    ODP.NET, Managed and Unmanaged Drivers can be deployed easily to Oracle Cloud, private clouds, and third-party cloud environments through Web Deploy. All ODP.NET specific settings no longer require any operating system level configuration. These settings can be made in the .NET configuration files. Managed and Unmanaged ODP.NET Drivers now share a unified configuration file format.

  • Application Continuity

    Application Continuity recovers incomplete requests from an ODP.NET, Unmanaged Driver perspective and masks many system failures, communication failures, hardware failures, and storage outages from the user.

    See also "Application Continuity" for more information.

  • Sharding and ODP.NET Routing

    Starting from Release 12.2.0.1, ODP.NET, Unmanaged Driver and Oracle Database support sharding. Oracle Sharding provides the ability to horizontally partition the data across multiple independent Oracle databases (shards). Based on a key specified in the connect string, ODP.NET can route the database requests to a particular shard.

    Oracle Sharding is a shared-nothing architecture that allows near-linear scaling of the database across low-cost commodity database servers located in one or more local or global data centers. Other key benefits include global data distribution (store particular data close to consumers) and fault containment (failure of one shard does not affect the availability of other shards). Global Data Services manages the location of data among the shards and allows ODP.NET client requests to be routed to the appropriate shard in this distributed database system.

    See also "Database Sharding" for more information.

  • Longer Schema Identifiers

    Oracle Data Provider for .NET now supports schema object identifier names, such as tables, columns, views, stored procedures, and functions, up to 128 characters in length. This feature is available in both ODP.NET, Managed and Unmanaged Drivers.

  • ODP.NET, Managed Driver – Data Integrity

    ODP.NET, Managed Driver supports cryptographic hash functions to better ensure data integrity between the database server and the client. The algorithms supported include MD5, SHA-1, and SHA-2 (SHA-256, SHA-384, and SHA-512).

    See also "settings section" and "Network Data Encryption and Integrity" for more information.

  • ODP.NET, Managed Driver -- Transport Layer Security (TLS)

    ODP.NET, Managed Driver has added support for TLS 1.1 and 1.2 in addition to existing support for TLS 1.0 and SSL 3.0.

  • ODP.NET, Managed Driver -- Distinguished Name for SSL/TLS

    ODP.NET, Managed Driver connections using SSL/TLS can ensure that the distinguished name (DN) is correct for the database server that it is trying to connect to.

  • ODP.NET, Managed Driver - Boolean Data Type

    ODP.NET, Managed Driver now supports the OracleBoolean data type when using the database's PL/SQL Boolean data type. The managed driver must be connected to Oracle Database 12c Release 2 (12.2) or higher. Booleans store TRUE or FALSE values.

    The ODP.NET OracleBoolean data type eases parameter binding and data type mapping setup with Boolean values.

    See also "OracleBoolean Structure" for more information.

Desupported Features

Some features previously described in this document are desupported in Oracle Database 12c Release 2 (12.2). See Oracle Database Upgrade Guide for a complete list of desupported features in this release.

The following features are no longer supported by Oracle:

  • OracleLogicalTransactionStatus class

  • OracleConnection.GetLogicalTransactionStatus method

  • OracleConnection.LogicalTransactionId property

  • OracleConnection.OracleLogicalTransaction property

  • OracleLogicalTransaction.DataSource property

  • OracleLogicalTransaction.GetOutcome() method

  • OracleLogicalTransaction.GetOutcome(sting, string, string) method

  • OracleLogicalTransaction.UserId property