db2报错: [DB2/NT] SQL0952N 由于中断,处理被取消 SQLSTATE=57014

时间:2022-06-18 09:09:57

DB2被中断,报错:  [DB2/NT] SQL0952N 由于中断,处理被取消 SQLSTATE=57014

在DB2的开发过程中,今日运行了一个执行时间较为长的sql语句。使用DB2服务端的控制台,运行该sql大约需要1分钟左右。而,在开发的程序里,运行30秒后,就被打断了,爆出异常  [DB2/NT] SQL0952N 由于中断,处理被取消 SQLSTATE=57014。找了网上好多的资料,都没有结果。只在一篇ADO开发DB2的文章里找到了线索:

解决方法一:我们开发时,只注意到了connection的连接时长。事实上,connection过期时间属性,已经被设置为0了,且只读。所以默认是永不过期的。

而对于我们每次SQL语句的执行,事实上是和DB2.DBCommand直接相关的。有意思的是,DBCommand也有个CommandTimeout 属性,且可读可写。将其设置为0后,就不会爆出处理被中断的问题了。呵呵!

解决方法二:db2cli.ini中添加

set QUERYTIMEOUTINTERVAL=0 in the db2cli.ini and try again