Oracle REF CURSOR

Oracle .NET Framework 数据提供程序支持 Oracle REF CURSOR 数据类型。 在通过数据提供程序使用 Oracle REF CURSOR 时,应考虑下列行为。

注意注意

有些行为与 Microsoft Oracle OLE DB 提供程序 (MSDAORA) 的行为不同。

  • 因为性能的原因,除非您显式指定,否则,Oracle 数据提供程序不会自动绑定 REF CURSOR 数据类型,因为 MSDAORA 会这样做。

  • 数据提供程序不支持任何 ODBC 转义序列,包括用于指定 REF CURSOR 参数的 {resultset} 转义。

  • 要执行返回 REF CURSOR 的存储过程,必须在 OracleParameterCollection 中定义参数,包括 CursorOracleType 以及 OutputDirection。 数据提供程序只支持作为输出参数绑定 REF CURSOR。 提供程序不支持 REF CURSOR 作为输入参数。

  • 不支持从参数值获取 OracleDataReader。 在执行命令后,值属于 DBNull 类型。

  • 适用于 REF CURSOR 的唯一 CommandBehavior 枚举值(例如在调用 ExecuteReader 时)是 CloseConnection;所有其他枚举值均将被忽略。

  • REF CURSOR 在 OracleDataReader 中的顺序取决于参数在 OracleParameterCollection 中的顺序。 ParameterName 属性被忽略。

  • 不支持 PL/SQL TABLE 数据类型。 但是,REF CURSOR 的效率更高。 如果必须使用 TABLE 数据类型,请使用 OLE DB .NET 数据提供程序和 MSDAORA。

本节内容

请参见

其他资源

Oracle 和 ADO.NET