首页 > 技术文章 > db2报错: [DB2/NT] SQL0952N 由于中断,处理被取消 SQLSTATE=57014

kaysily 2014-02-12 10:41 原文

 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

推荐阅读