Delphi2010+SqlServer2005で開発してます。
更新する際、
100件くらいなら問題ないのですが、
1000件ぐらいになると、
更新するときに
例外クラス EOleException
(メッセージ 'クエリ タイムアウトが時間切れになりました')を送出しました。
というメッセージが表示されます。
いろいろ調べた結果、AdoConnectionのCommandTimeout、ConnectionTimeoutの値を変えると解決しそうだったので、
値を0にしてやってみたのですが、未だ解決できません。
クエリは
BEGIN TRAN
update 〜
update 〜
update 〜
×件数
COMMIT
という具合で発行してます。
どうかご教授お願いします。
こんにちは。
1.タイムアウトしないように、テーブルに最適なインデックスを付与する。
(Update の Where 句を参考にして)
2.TADOConnection.CommandTimeout ではなく、
TADOQuery.CommandTimeout を設定する (0 ではなく時間を)。
この 2 点を試してみてはいかがでしょうか?
インデックスの追加で現象が起こらなくなりました。
DEKOさん、ありがとうございました。
ツイート | ![]() |