我在使用具有 out 参数的 Oracle 存储过程时遇到问题。我无权查看实际存储的过程,但这里是方法签名:
CHECKPASSWORDUSED (System.Decimal USER_IN, System.String PASSWORD_IN, out System.Decimal PW_FAIL)
这就是我试图称呼它的方式。
public decimal CheckIfPasswordUsed(long userId, string password)
{
decimal? used;
_context.CHECKPASSWORDUSED(userId, password, out used);
return Convert.ToDecimal(used);
}
我必须定义一个输出变量,但我不确定我是否使用了这个权利。我在正确的轨道上吗?
编辑:我收到的错误消息是:
[OracleException (0x80004005):ORA-06550:第 2 行,第 3 列:
PLS-00201:必须声明标识符“CHECK_PASSWORD_USED”
ORA-06550:第 2 行,第 3 列:
PL/SQL:忽略语句]
Devart.Data.Oracle。 bc.d() +872
Devart.Data.Oracle.an.i() +112
Devart.Data.Oracle.an.c() +3016
Devart.Data.Oracle.xa(Int32 A_0, bt A_1) +3343
Devart .Data.Oracle.OracleCommand.InternalExecute(CommandBehavior 行为,IDisposable 一次性,Int32 startRecord,Int32 maxRecords,布尔非查询)+4880
Devart.Common.DbCommandBase.ExecuteDbDataReader(CommandBehavior 行为,布尔非查询)+764
Devart.Data.Oracle.OracleCommand。执行非查询()+69
Devart.Data.Linq.Provider.DataProvider.ExecuteQuery(CompiledQuery 编译查询,对象 [] parentArgs,对象 [] userArgs,对象 lastResult)+3675