ORA-01403没有发现数据错误

时间:2014-05-27 18:09:06

标签: c# .net oracle

我有一个简单的选择查询,它返回数据。

select COL_DES from MY_TABLE where COL_CODE = 'ABC';

但是当我在程序中封装它并从我的C#代码调用它时,我得到ORA-01403没有找到数据错误。 这就是我在做的事情:

PROCEDURE GET_DESCRIPTION(
    type_code     IN   VARCHAR2,
    type_desc     OUT  VARCHAR2    
)
IS
BEGIN
    select COL_DES into type_desc
    from LOANIQ.MY_TABLE 
    where COL_CODE = type_code;
END;

从C#代码中,我确实将type_code作为'ABC'传递,但我没有得到任何结果。相反,我得到一个oracle错误 - ORA-01403没有发现数据错误。

comm.Parameters.Add("type_code", OracleDbType.Varchar2, ParameterDirection.Input).Value ="ABC";
comm.Parameters.Add("type_desc", OracleDbType.Varchar2, 1024).Direction = ParameterDirection.Output;
comm.BindByName = true;
comm.ExecuteNonQuery();

对此的任何帮助都将非常感激。

注:Kunal

1 个答案:

答案 0 :(得分:0)

这是我的编码错误。列“COL_CODE”是类型“CHAR”列,用于等同“type_code”的参数是“VARCHAR2”。 一旦我从代码和proc中将“type_code”更改为“CHAR”,它就可以正常工作。

谢谢, KUNAL