【问题标题】:How to call a PL/SQL function returning an OracleRefCursor with Linq2DB?如何使用 Linq2DB 调用返回 OracleRefCursor 的 PL/SQL 函数?
【发布时间】:2016-08-30 19:15:19
【问题描述】:

我想调用一个返回 SYS_REFCURSOR 的 PL/SQL 函数。

我尝试过的一种方法如下所示:

var userIdParameter = DataParameter.Decimal("userId", user.Id);
var returnValue = new DataParameter { Direction = ParameterDirection.ReturnValue };
var result = dataConnection.ExecuteProc("SECURITY.GetUserRoles", userIdParameter, returnValue);

这会产生以下错误:

PLS-00382: expression is of wrong type

Linq2DB 是否支持返回 SYS_REFCURSOR 的函数?

【问题讨论】:

    标签: c# oracle sys-refcursor linq2db


    【解决方案1】:

    在 Linq2DB 1.8 中添加了对此类参数的支持。返回参数需要添加DataType = DataType.Cursor

    查看 linq2db 测试中的示例:https://github.com/linq2db/linq2db/blob/master/Tests/Linq/DataProvider/OracleTests.cs#L1881

    【讨论】:

      猜你喜欢
      • 2014-03-07
      • 2011-05-03
      • 2022-08-12
      • 2013-05-06
      • 2011-03-01
      • 1970-01-01
      • 2017-08-24
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多