0

ユーザーの SQL クエリを実行し、結果を pdf/csv に出力する小さな Web アプリがあります。大規模なクエリの場合、次のエラーが発生します。

ERROR [57014] [IBM][DB2/AIX64] SQL0952N  Processing was cancelled due to an interrupt.  SQLSTATE=57014

Description: An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information about the error and where it originated in the code. 

Exception Details: IBM.Data.DB2.DB2Exception: ERROR [57014] [IBM][DB2/AIX64] SQL0952N  Processing was cancelled due to an interrupt.  SQLSTATE=57014

調査を行った後QueryTimeout、接続文字列にパラメーターを追加する必要があることがわかりました。簡単な編集を除けば、vb.net の経験はあまりありません。関連するコードは次のようになります。

Imports IBM.Data.DB2
Dim conn As New DB2Connection(ConfigurationManager.AppSettings(ddDatabase.SelectedValue))
Dim cmd As New DB2Command(strSQL, conn)
4

1 に答える 1

1

あなたの問題を理解していれば、接続を確立するために許可された最大時間ではなく、DB2Command に CommandTimeout を設定する必要があると思います

Imports IBM.Data.DB2
Dim conn As New DB2Connection(ConfigurationManager.AppSettings(ddDatabase.SelectedValue))
Dim cmd As New DB2Command(strSQL, conn)
cmd.CommandTimeout = 200

DB2.CommandTimeout

コマンドの実行を待機する時間 (秒単位)。デフォルトは 30 秒です。

于 2013-07-29T16:02:34.990 に答える