客户反馈:多个SQL或存储过程执行时间较长,在KStudio工具中能返回数据,但是通过应用就会抛出报错:57014 canceling statement due to user request ,对SQL或存储过程优化后报错消失,让数据库层面检查原因。
现场环境信息:驱动:Kdbndp_V9/8.0.3.911
数据库版本:KingbaseES_V009R004C019B0004 SQLServer兼容模式

报错说明:SQLSTATE=57014,
query_canceled
,
数据库收到取消本次 SQL 执行的信号
,不是 SQL 语法报错。 从字面意思看:
因为用户端请求,取消了正在执行的 SQL
,
“用户” 不一定是人,客户端程序、驱动、超时都属于用户侧请求
。
1、检查连接串,未配置超时参数;
2、检查数据库中超时参数,默认值0:不超时 ( idle_in_transaction_session_timeout、statement_timeout 和 client_idle_timeout );
3、检查Kdbndp驱动Command对象的属性,参数CommandTimeout 默认 30s。
有以下2种解决办法:
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/69963491/viewspace-3184789/ ,如需转载,请注明出处,否则将追究法律责任。