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