- PR -

SqlException,タイムアウトに達しました・・・・

投稿者投稿内容
渋木宏明(ひどり)
ぬし
会議室デビュー日: 2004/01/14
投稿数: 1155
お住まい・勤務地: 東京
投稿日時: 2004-08-16 21:02
引用:

えムナウさんの「ストアドプロシージャで運用」というのは
タイムアウトを気にしなくて言いのでしょうか?



そういう訳にはいきません。
一般に、DB内部で完結する処理であれば、無駄なデータ転送が発生しない分、ストアドプロシジャの方が効率的に処理できるというだけのことです。
ストアドプロシジャでの処理が複雑で時間がかかれば、やはりタイムアウトしてしまいます。

設計を大きく変更できないとしても、100万件を削除する時には10万件ごと10回の削除に分割するなど、なにかしら工夫しないと、どうしようもないと思います。
_________________
// 渋木宏明 (Hiroaki SHIBUKI)
// http://hidori.jp/
// Microsoft MVP for Visual C#
//
// @IT会議室 RSS 配信中: http://hidori.jp/rss/atmarkIT/
みのる
大ベテラン
会議室デビュー日: 2003/07/03
投稿数: 100
投稿日時: 2004-08-17 14:41
いろいろと、ご相談に乗っていただいてありがとうごいます。

・インデックス
・ストアド
・設計

もう一度見直しします。

あと、.NETからストアドを実行するための参考になるHP等があれば
大変ありがたいのですが。。。
渋木宏明(ひどり)
ぬし
会議室デビュー日: 2004/01/14
投稿数: 1155
お住まい・勤務地: 東京
投稿日時: 2004-08-17 15:20
引用:

あと、.NETからストアドを実行するための参考になるHP等があれば



通常のクエリ実行と同じです。

SqlCommand を組み立てて、結果セットを返すかどうかなどの違いで ExecuteReader() あるいは ExecuteNonQuery() します。

_________________
// 渋木宏明 (Hiroaki SHIBUKI)
// http://hidori.jp/
// Microsoft MVP for Visual C#
//
// @IT会議室 RSS 配信中: http://hidori.jp/rss/atmarkIT/
みのる
大ベテラン
会議室デビュー日: 2003/07/03
投稿数: 100
投稿日時: 2004-08-18 12:58
渋木宏明(ひどり)さん、ストアドの実行できました!!

ふー。

あとは、もっとも重要な設計の見直しです。頑張ります。

設計の見直しで「SQLServerのトランザクションログの管理」
にも悩んでおります。

バッチは大量のデータを扱うので、その分ログも大きくなります。

オラクルとは違って、SQLServerは管理しないといけないと思うのですが
.NET側では、皆さんどうされていますか?

ログのバックアップとか、ログの削除とか。。。。

スキルアップ/キャリアアップ(JOB@IT)