带 Out 参数的 oracle 存储过程

本文关键字:oracle 存储过程 参数 Out | 更新日期: 2023-09-27 18:36:39

我在使用具有 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);
}

我必须定义一个 out 变量,但我不确定我是否使用了这个权利。 我走在正确的轨道上吗?

编辑:我收到的错误消息是:

[甲骨文异常 (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.x.a(Int32 A_0, bt A_1) +3343
Devart.Data.Oracle.OracleCommand.InternalExecute(CommandBehavior behavior, IDisposable disposable, Int32 startRecord, Int32 maxRecords, Boolean nonQuery) +4880
Devart.Common.DbCommandBase.ExecuteDbDataReader(CommandBehavior behavior, Boolean nonQuery) +764
Devart.Data.Oracle.OracleCommand.ExecuteNonQuery() +69
Devart.Data.Linq.Provider.DataProvider.ExecuteQuery(CompiledQuery compiledQuery, Object[] parentArgs, Object[] userArgs, Object lastResult) +3675

带 Out 参数的 oracle 存储过程

我已经找到了答案!

由于这是我第一次使用Oracle,因此我不知道"同义词"。 我让 dba 为存储过程创建了一个同义词,现在我摇摆不定!

任何有兴趣的人都可以在这里阅读更多关于它的信息:

http://www.techonthenet.com/oracle/synonyms.php http://docs.oracle.com/cd/B19306_01/server.102/b14200/statements_7001.htm