ORA-01403 找不到数据错误

Posted

技术标签:

【中文标题】ORA-01403 找不到数据错误【英文标题】:ORA-01403 no data found error 【发布时间】:2014-05-27 18:09:06 【问题描述】:

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

select COL_DES from MY_TABLE where COL_CODE = 'ABC';

但是当我用 in 过程封装它并从我的 C# 代码中调用它时,我得到 ORA-01403 no data found 错误。 这是我正在做的事情:

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 no data found 错误。

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();

对此的任何帮助将不胜感激。

库纳尔

【问题讨论】:

当您使用 SQL 客户端对数据库运行 SQL 时,它是否返回任何数据?当您使用 SELECT INTO 并且查询没有返回任何行时会引发错误。 我已经试过了。不过感谢您的建议! 【参考方案1】:

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

谢谢, 库纳尔

【讨论】:

以上是关于ORA-01403 找不到数据错误的主要内容,如果未能解决你的问题,请参考以下文章

OGG replicat错误 ORA-01403及解决方案

ORA-01403:未找到数据 ORA-06512:在第 8 行 01403。00000 -“未找到数据”

PL/SQL 中的问题 = 错误堆栈:ORA-01403:Oracle Application Express (APEX) 中没有数据

01403. 00000 - “未找到数据”

PLSQL 未找到数据

PLSQL 触发器 ORA 01403 未找到数据