db2求救--SQL0438N(SQLCODE-501)错误
过程跑数,遇到SQL0438N(SQLCODE-501)错误,不知如何解决?求大侠相助!经常遇到SQL0438N(SQLCODE-803)错误,是违反主键约束。但501不知道是为何? 自己顶! 问题已解决!
sqlcode-501:fetch或close一个未打开的cursor因为在游标循环里面用到db2load函数,而该函数报错了,导致rollback,然后就释放游标了,所以报501错误。 本帖最后由 大梦 于 2011-01-23 15:54 编辑
有可能是你前面的错误没处理好,后来还在fetch或close游标
db2 ? sql501
SQL0501NFETCH 语句或 CLOSE 语句中指定的游标尚未打开,或者游标
标量函数引用中的游标变量尚未打开。
说明:
程序试图执行下列其中一项操作:
*当指定的游标未打开时,试图使用该游标进行访存(FETCH)。
*当指定的游标未打开时,试图关闭(CLOSE)该游标。
*在 OPEN 语句中引用游标变量,但该游标变量尚未打开。
*引用游标标量函数(例如 CURSOR_ROWCOUNT 函数),但该游标变量尚未打开。
无法处理该语句。
用户响应:
检查先前的消息 (SQLCODE),它可能关闭了游标。注意,在关闭游标后,任何访
存或关闭游标语句都接收到 SQLCODE -501。
如果未发出任何先前的 SQLCODE,那么更正应用程序,确保游标在执行 FETCH 或
CLOSE 语句时是打开的。
如果在游标标量函数中引用游标变量,那么请验证该游标是否不为空、已定义并
且已打开,否则将该游标变量替换为处于该状态的游标变量。
sqlcode:-501
页:
[1]