如何在C#中定义和检索UDT(对象)的Oracle输出参数表

时间:2016-02-01 19:21:46

标签: c# oracle user-defined-types output-parameter

我试图弄清楚如何定义和检索Oracle OUTPUT参数,该参数是C#中的UDT(对象)表。

具体来说,我使用的是C#,. NET 4.0和Oracle.ManagedDataAccess

我似乎无法找到针对此特定问题的正确示例 - 尽管我发现了各种类似的建议和解决方案,其中返回类型是简单的OracleDBType而不是UDT对象的表。

假设以下示例:

var _translator = new Dictionary<string, string>()
{
  [nameof(f5Name)] = f5Name ,
  [nameof(poolName)] = poolName ,
};

我认为基于OacleDbType.Object可能有用的一些例子, 但它似乎不是我正在使用的Oracle.ManagedDataAccess的一部分。

有人可以帮助我了解我的意愿;

1 - 正确定义输出参数(例如新的OracleParameter(“p_values”,OracleDbType。?,...)

2 - 访问/处理输出参数的UDT返回表

非常感谢您的帮助!

1 个答案:

答案 0 :(得分:0)

管理版ODAC不支持UDT。您必须使用非托管版本或第三方Oracle驱动程序,例如Devart,它提供了更加智能的UDT支持,您不需要事先为每个UDT创建特定的类。