pro*c ORA-01002: fetch out of sequence 原因

愤怒的小妈 2012-04-16 04:44:02
oracle 9i

使用pro*c 跑着的程序,前几天出现 ORA-01002: fetch out of sequence 错误!但重启后又好了
EXEC SQL DECLARE up_cur CURSOR FOR select Color from T1
EXEC SQL FETCH up_cur INTO :Color
if(nRes == _breaken || nRes == _error)
{
ERR(("err(%d:%s)",nRes,ReportErr().c_str()));
EXEC SQL CLOSE up_cur;
return nRes;
}

谁遇到这样的问题。这里没有涉及到commit.rowblack
...全文
236 4 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
wqkjj 2012-04-17
  • 打赏
  • 举报
回复
把其它代码贴出来啦,这个错误就是这意思。
愤怒的小妈 2012-04-17
  • 打赏
  • 举报
回复
这个条件满足的
愤怒的小妈 2012-04-17
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 的回复:]
游标在最后一条记录fetch完后再fetch就会出这个错误。

EXEC SQL DECLARE up_cur CURSOR FOR select Color from T1
EXEC SQL FETCH up_cur INTO :Color
/*
// 这里看你用什么mode模式编译的*.pc,如果是ANSI,则要写成:
// sqlca.sqlcode =……
[/Quote]

if(notfound)
break;
wqkjj 2012-04-16
  • 打赏
  • 举报
回复
游标在最后一条记录fetch完后再fetch就会出这个错误。

EXEC SQL DECLARE up_cur CURSOR FOR select Color from T1
EXEC SQL FETCH up_cur INTO :Color
/*
// 这里看你用什么mode模式编译的*.pc,如果是ANSI,则要写成:
// sqlca.sqlcode == 100
*/
if( sqlca.sqlcode == 1403 )
{
返回或者break循环;
}

17,137

社区成员

发帖
与我相关
我的任务
社区描述
Oracle开发相关技术讨论
社区管理员
  • 开发
  • Lucifer三思而后行
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧