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
