我试图弄清楚如何定义和检索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返回表
非常感谢您的帮助!
答案 0 :(得分:0)
管理版ODAC不支持UDT。您必须使用非托管版本或第三方Oracle驱动程序,例如Devart,它提供了更加智能的UDT支持,您不需要事先为每个UDT创建特定的类。