有关SQLSTATE57014和57019的解决方法
有关sqlstate57014和57019的解决方法
一、sqlstate57014,sql0952n由于中断而取消处理
问题背景:近日对1400+万的数据进行select,在db2下是29秒。在sql里面添加处理逻辑后是1分40秒。在开发程序中操作同样的sql,执行过程中报错“sqlstate57014,sql0952n由于中断而取消处理”。debug后问题出在数据源配置结果集上。
解决方法:
1. 问题产生的原因是数据量大查询超时引起的,我们经常会将connection的timeout设置为0,其实在底层connection的过期时间属性已经默认为0并且是只读状态;
.执行sql的状态和db2的dbcommand相关,其属性值可读可写,只需要将commandtimeout的属性设置为0即可;
我们设置属性的时候要在数据源关闭的前提下进行设置,如果数据源已经开启,设置dbcommand并不会产生效果,“sqlstate57014,sql0952n由于中断而取消处理”的问题在执行代码期间仍然会报错。
2.db2cli.ini中添加 set querytimeoutinterval=0
二、sqlstate57019,sql1117n 因为处于roll-forward pending 状态,所以不能连接或激活
问题背景:系统数据库的备份是动态备份下来的,人工导入后打不开,报错。
解决方法
因为处于“roll-forward pending”前滚悬挂状态,右键数据库选择前滚恢复,下面我们选择日志项,同时路径指向该数据库之前的日志目录,点击退出回滚状态,执行完成即可。
推荐阅读
-
Android ListView的item背景色设置和item点击无响应的解决方法
-
php中有关字符串的4个函数substr、strrchr、strstr、ereg介绍和使用例子
-
ThinkPHP的cookie和session冲突造成Cookie不能使用的解决方法
-
Nginx启动、重启失败的一般解决方法和步骤
-
在python3中pyqt5和mayavi不兼容问题的解决方法
-
Oracle中插入特殊字符:&和'的解决方法汇总
-
ORACLE出现错误1033和错误ORA-00600的解决方法
-
分享几道和「滑动窗口」有关的算法面试题
-
Win8找不到关机选项怎么办?Win8系统没有关机选项的解决方法
-
浏览器蓝屏0x00000050和igdpmd64.sys的四种解决方法