我想调用一个返回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


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

最佳答案

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

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

关于c# - 如何使用Linq2DB调用返回OracleRefCursor的PL/SQL函数?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/37043159/

10-12 23:45