1

vb.net アプリケーションを使用して実行した SQL クエリがありますが、コマンド タイムアウト プロパティを超えると問題が発生します。300 に設定しました。ヒントや提案はありますか?

ここにvb.netの私のコードのスニペットがあります

  .ExecuteQuery("exec spCentrIX_PracticeSet '" & oCompany & "','" & .SecDatabaseName & "'", sDataSet)
  Application.DoEvents()
  .ExecuteQuery("exec spCentrIX_PracticeSet '" & oCompany & "','" & .SetDatabaseName & "'", sDataSet)
  Application.DoEvents()
  .ExecuteQuery("exec spCentrIX_PracticeSet '" & oCompany & "','" & .TranDatabaseName & "'", sDataSet)
  Application.DoEvents()

3 回実行される同じスクリプト。このスクリプトは、okie を実行する 3 つのデータベースからすべてのデータを取得します。ただし、実行中...コードの接続タイムアウトを超えています。

4

1 に答える 1

1

タイムアウトを 0 に設定すると、タイムアウトすることはありません。これは本番環境では推奨されませんが、終了するまで本当に待ちたい場合は、うまくいきます。可能であれば、クエリを最適化する方法を調査する必要があります。おそらくバックグラウンドワーカーを使用して、非同期でも実行します。

http://www.codeproject.com/Articles/20627/BackgroundWorker-Threads-and-Supporting-Cancel

于 2012-10-23T20:15:05.297 に答える