执行UPDATE 达到一定数量后,报-346错误,召唤

yexiangshu 2011-12-21 03:20:55
在函数里执行的update 语句;
外部循环调用的,记录少的时候没有问题,多了就报错,一般执行到32712个差不多的时候,就报错
错误信息:
err_msg=sqlcode update1 [-346]
sqlcode=-346,isam=-101,sqlerrm=
很奇怪啊,不是一执行就报错,是执行到一定数量就不行了。
SQL:
sprintf(sql_str,"update a_acct_accumulate_liuzn set balance =%d,critical_time='%s',error_time='%s'\
where owner_id=%d and owner_type=%d and ratable_resource_id=%d and cyc_seq_nbr =%d and %d>=balance",
remain_count_proc.after_balance,
remain_count_proc.critical_time,
remain_count_proc.error_time,
remain_count_proc.owner_id,
remain_count_proc.owner_type,
remain_count_proc.ratable_resource_id,
remain_count_proc.cyc_seq_nbr,
remain_count_proc.after_balance);
EXEC SQL EXECUTE IMMEDIATE :sql_str;

if (db_sqlcode() != 0)
{
sprintf(err_msg,"sqlcode update1 [%d]\n",db_sqlcode());
pub_message(6302996,DEBUG_MESSAGE,DB_ERROR,"md_refresh_remain_count_liuzn()",err_msg);
return -1;

}

大家帮忙给看看
...全文
479 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
chenfly 2012-06-08
  • 打赏
  • 举报
回复
是否是数据库日志空间不够啊?
jiasmine 2012-06-05
  • 打赏
  • 举报
回复
肯定锁表了
Elvis_chen 2011-12-22
  • 打赏
  • 举报
回复
把报错误的详细代码贴出了,不过-346错误估计时锁表了。

1,194

社区成员

发帖
与我相关
我的任务
社区描述
其他数据库开发 Informix
社区管理员
  • Informix社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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