Microsoft KB Archive/322158

= Features and limitations of the .NET Managed Provider for Oracle =

Article ID: 322158

Article Last Modified on 7/26/2007

-

APPLIES TO


 * Microsoft ADO.NET 2.0
 * Microsoft ADO.NET 1.1
 * Microsoft ADO.NET 1.0
 * Microsoft Data Access Components 2.8
 * Microsoft Visual Studio 2005 Standard Edition
 * Microsoft Visual Studio 2005 Professional Edition
 * Microsoft Visual Studio 2005 Express Edition
 * Microsoft Visual Studio .NET 2003 Professional Edition
 * Microsoft Visual Studio .NET 2002 Professional Edition

-



This article was previously published under Q322158



SUMMARY
This article describes the features and the limitations of the current version of the Microsoft .NET Managed Provider for Oracle.



System requirements for the .NET Managed Provider for Oracle
Before you run Setup to install the Microsoft .NET Framework Managed Provider for Oracle, the following items must be installed on the computer to which you are downloading the provider:
 * Microsoft .NET Framework
 * Microsoft Data Access Components (MDAC) 2.6 or later (Microsoft recommends MDAC 2.7)
 * Oracle 8i Client Release 3 (8.1.7) or later

Supported Oracle servers
The .NET Managed Provider for Oracle is built on version 8.1.7 of the Oracle Call Interface (OCI) application programming interface (API). The .NET Managed Provider for Oracle is developed and fully tested against the Oracle 8.1.7 Server. The .NET Managed Provider for Oracle has also been tested against Oracle 8.1.6. Microsoft will only address and support issues that occur against Oracle 8.1.6 server or Oracle 8.1.7 server and Oracle 9i or later versions. The .NET Managed Provider for Oracle 2.0 was tested against Oracle 9i Release 2, Oracle 10g Release 1, and Oracle 10g Release 2.

Supported data types
The .NET Managed Provider for Oracle supports the Oracle 8i-specific data types such as CLOB, BLOB, NCLOB, and Bfile. The .NET Managed Provider for Oracle 2.0 does not support the Oracle 9i XML data type or the Oracle 10g data types Binary Float and Binary Double.

Parameter support for Ref Cursors
The .NET Managed Provider for Oracle supports a parameter of OracleType.Cursor. You can use this parameter to return a Ref_Cursor from Oracle.

For more information, click the following article number to view the article in the Microsoft Knowledge Base:

321718 How to call Oracle stored procedures in Visual Basic .NET with the Microsoft Oracle Managed Provider

ODBC escape syntax
The .NET Managed Provider for Oracle no longer supports the Open Database Connectivity (ODBC) escape syntax that is used with the Microsoft OLE DB Provider and the ODBC driver. This includes the output parameter arrays that are used to return Ref_Cursors, for example: {resultset 0, Cursor} For more information, click the following article number to view the article in the Microsoft Knowledge Base:

255043 How to retrieve ADO Recordset from Oracle through ASP using REF CURSORS

Ref_Cursors as output parameters only
The .NET Managed Provider for Oracle supports binding Ref_cursors as output parameters only. There is no support for Ref_cursors as an input parameter.

CLOBs are Unicode only
CLOB and NCLOBs are always returned in Unicode characters, regardless of the storage format.

PL/SQL Table data type
The PL/SQL Table data type is not supported with the .NET Managed Provider for Oracle. Ref_cursors are more efficient. If you must use the Table type, use the .NET managed Provider for OLE DB with the Microsoft OLE DB Provider for Oracle.

For more information, click the following article number to view the article in the Microsoft Knowledge Base:

176086 How to retrieve Recordsets from Oracle stored procedures using ADO

NLS_LANG settings
NCHAR/NVARCHAR2/NCLOB types function correctly only when you set NLS_LANG to correctly match the NLS_NCHAR_CHARACTERSET on the server.

Microsoft does not support the use of Oracle8i clients against Oracle9i servers that are configured with AL16UTF16 as the NLS_NCHAR_CHARACTERSET.

