Oracle Data Provider for .NET


Release Notes

Release 12.1.0.1.0

April 2013

Copyright (c) Oracle Corporation 2013

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

TABLE OF CONTENTS

 

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

This section contains information that is specific to ODP.NET, Managed Driver.
  1. To obtain the latest version of ODP.NET, Managed Driver, please visit Oracle Data Access Components (ODAC) download page on OTN.

  2. Updating multiple long columns in multiple rows with data > 4k does not work with this release of ODP.NET, Managed Driver. [Bug 14304263]

  3. OracleConnection object's OpenWithNewPassword() method invocation will result in an ORA-1017 error with 11.2.0.3.0 and earlier versions of the database. [Bug 14311412]

  4. OracleDbType.XmlType enumeration value is not supported.

 

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

This section contains information that is specific to ODP.NET, Unmanaged Driver.
  1. To obtain the latest version of ODP.NET, Unmanaged Driver, please visit Oracle Data Access Components (ODAC) download page on OTN.

  2. If SenderId is specified in OracleAQMessage object while enqueuing, the sender id of dequeued message will have "@ODP.NE" appended in the end. [Bug 7315542]

  3. An "ORA-00942: table or view does not exist" error may be thrown from Dequeue or DequeueArray method invocations when OracleAQDequeueOptions.DeliveryMode is specified as OracleAQMessageDeliveryMode.Buffered and OracleAQDequeueOptions.Correlation is specified and there are no messages available in the queue. [Bug 7343633]

  4. If the Oracle Database version is 10.1 or earlier, OracleAQMessageAvailableEventArgs.QueueName is not double quoted in regular (i.e. non-group) notifications. [Bug 8253957]

  5. Application may not receive group notifications if GroupingInterval property on the OracleNotificationRequest object is set to 0. [Bug 7373765]

  6. OracleConnection object's OpenWithNewPassword() method invocation will result in an ORA-1017 error with pre-11.2.0.3.0 database versions. [Bug 12876992]

  7. When installing .NET related products for Windows x64 onto an ORACLE_HOME or ORACLE_BASE on a mapped drive, a System.IO.FileLoadException exception may be thrown by OraProvCfg.exe during installation. To work around this issue, install .NET Framework 2.0 SP2 or later on the system where OUI install is being executed. [Bug 10225338]

 

Entity Framework Tips, Limitations, and Known Issues

This section contains Entity Framework related information that pertains to both ODP.NET, Managed Driver and ODP.NET, Unmanaged Driver.
  1. Interval Day to Second and Interval Year to Month column values cannot be compared to literals in a WHERE clause of a LINQ to Entities or an Entity SQL query.

  2. LINQ to Entities and Entity SQL (ESQL) queries that require the usage of SQL APPLY in the generated queries will cause SQL syntax error(s) if the Oracle Database being used does not support APPLY. In such cases, the inner exception message will indicate that APPLY is not supported by the database.

  3. ODP.NET does not currently support wildcards that accept character ranges for the LIKE operator in Entity SQL (i.e. [] and [^]). [Bug 11683837]

  4. ODP.NET does not support Code First or the DbContext APIs.

  5. Executing LINQ or ESQL query against tables with one or more column names that are close to or equal to the maximum length of identifiers (30 bytes) may encounter "ORA-00972: identifier is too long" error, due to the usage of alias identifier(s) in the generated SQL that exceed the limit.

  6. An "ORA-00932: inconsistent datatypes: expected - got NCLOB" error will be encountered when trying to bind a string that is equal to or greater than 2,000 characters in length to an XMLType column or parameter. [Bug 12630958]

  7. An "ORA-00932 : inconsistent datatypes" error can be encountered if a string of 2,000 or more characters, or a byte array with 4,000 bytes or more in length, is bound in a WHERE clause of a LINQ/ESQL query. The same error can be encountered if an entity property that maps to a BLOB, CLOB, NCLOB, LONG, LONG RAW, XMLTYPE column is used in a WHERE clause of a LINQ/ESQL query.

  8. An "Arithmetic operation resulted in an overflow" exception can be encountered when fetching numeric values that have more precision than what the .NET type can support. In such cases, the LINQ or ESQL query can "cast" the the value to a particular .NET or EDM type to limit the precision and avoid the exception. This approach can be useful if the LINQ/ESQL query has computed/calculated columns which will store up to 38 precision in Oracle, which cannot be represented as .NET decimal unless the value is casted.

  9. Oracle Database treats NULLs and empty strings the same. When executing string related operations on NULLS or empty strings, the result will be NULL. When comparing strings with NULLs, use the equals operator (i.e. "x == NULL") in the LINQ query, which will in turn use the "IS NULL" condition in the generated SQL that will appropriately detect NULL-ness.

  10. If an exception message of "The store provider factory type 'Oracle.ManagedDataAccess.Client.OracleClientFactory' does not implement the IServiceProvider interface." is encountered when executing an Entity Framework application with ODP.NET, the machine.config requires and entry for ODP.NET under the <DbProviderFactories> section. To resolve this issue by adding an entry in the machine.config, reinstall ODAC.