- - PR -
DataAdapterの例外エラーの回避方法
投稿者 | 投稿内容 | ||||||||
---|---|---|---|---|---|---|---|---|---|
|
投稿日時: 2004-10-01 11:10
.CommandTimeout = clsGlobal.DbCommandTimeout
clsGlobal.DbCommandTimeoutの値は、0でした。 | ||||||||
|
投稿日時: 2004-10-01 15:35
15000件から察するにタイムアウトエラーかと思われます。
NAL-6295さんの仰る方法にて回避するか、もしくは15000件ものデータを 必ず処理する必要がないのであれば、設計等を見直せばよいのではないで しょうか。 [追記] タイムアウトエラーかどうかは、クエリアナライザ等にてSQL文を実行して どのぐらいの時間か確認してみましょう。 [ メッセージ編集済み 編集者: えんぞ@見習 編集日時 2004-10-01 15:37 ] | ||||||||
|
投稿日時: 2004-10-01 21:11
どなたも指摘されていないのが、ちょっと不思議なのですが・・・
とっても不思議。。。いや、SQL Serverはよく知らないので、私が間違っているのかもしれませんが、と前置きして。 まず、フラグ関係の列ですが、型はなんですか?数値?文字列?数値で定義しているなら、シングルクォーテーションは不要ですよね。ここで数値を文字列に変換するという、余分な操作が入り、遅くなります。 また、フラグであるなら、bit型にしておけばよいのでは? 次に、KATEN_CODEですが、これも型はなんでしょう?文字列の大小関係って、何が調べられるの? さらに、同じ値の以上と以下を検査して、何がしたいの?単にイコールでは、なぜダメなの?入力は2つ有るのなら、BETWEEN演算子というものもあります。もっとも、文字列に対して使用できるかどうか、知りませんけど。 T_IRAINUSIテーブルに結合しているテーブルですが、単に削除などで絞り込むだけなら、副問い合わせにせず、全部結合してから落とす方が、(作っているなら)インデックスが有効に使われるのでは? SQL Serverには、Oracleでいうところの「実行計画」を取るコマンドはないのでしょうか?インデックスの張り方などを整理すれば、1万5千件ぐらいでタイムアウトは発生しないように思います。 |