2013-10-23 261 views
2

我在使用具有out参数的Oracle存储过程时遇到问题。我没有权限查看实际的存储过程,但这里是方法的签名: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变量,但我不确定是否使用这个权利。我在正确的轨道上吗?

编辑:错误消息,我得到有:

[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最大记录,布尔nonQuery)4880
Devart .Common.DbCommandBase.ExecuteDbDataReader(的CommandBehavior行为,布尔nonQuery)764
Devart.Data.Oracle.OracleCommand.ExecuteNonQuery()69
Devart.Data.Linq.Provider.DataProvider.ExecuteQuery(compiledQuery compiledQuery,对象[] parentArgs,Object [] userArgs,Object lastResult)+3675 ​​

+1

什么是你得到错误信息? –

+0

我不认为它是重复的,我没有得到类似的错误。我是否正确调用存储过程?我无法找到任何类似于我的用法的文档。 – Omni

+1

请把完整的错误堆栈放在这里。你所提出的四条错误线没有明确错误发生的位置。我认为程序'CHECKPASSWORDUSED'正在调用另一个不存在的过程'CHECK_PASSWORD_USED'。 – Rachcha

回答