0

我正在处理的应用程序中的存储过程偶尔会生成 ORA 01001:无效游标错误。当错误发生时,许多用户会点击此错误作为响应,一段时间后,它会自行纠正,一切都会恢复正常。

官方文档( Oracle 10g Documentation)中没有提到这个ORA01001错误。但我可以看到来自 Oracle 10g 的错误。我定期监控最大打开游标,没有任何问题。生成错误的存储过程点是一个简单的 SELECT(使用隐式游标)。

编辑:以下是代码:

l_sql_point:=12; 
If l_country_id='RU' 
Then select count(*) into l_rub_count from lcs_currency where currency_cd='RUB'; 
End If; 
Begin 
  select group_id into l_group from lcs_country where country_id=l_country_id; 
Exception when no_data_found 
  Then p_lcs_err_cd:='LCD1001'; 
       p_lcs_err_text:='Invalid Country Code - '||l_country_id; 
        p_err_text:='Invalid Country Code - '||l_country_id; --  return ret_result_set; 
End; 

我收到以下错误:xxsql_point:12----ORA-01001: invalid cursor

感谢您的宝贵帮助!

4

1 回答 1

0

根据我的经验,在以下情况下会发生 ORA-01001 无效游标错误:

  • 您尝试打开一个已经存在的打开游标
  • 您尝试在光标关闭或尚未打开时访问光标属性

检查你的代码库,看看是否有任何游标没有关闭并且你正试图再次重新打开。

于 2012-04-17T09:37:34.803 回答