- PR -

DBアクセスとファイル出力によるメッセージキューへの影響?

1
投稿者投稿内容
羽護
会議室デビュー日: 2004/12/02
投稿数: 1
投稿日時: 2004-12-02 19:19
はじめまして
現在、主にVB.NETとADO.NET,SQLServer2000にて開発をしています。
そこで、ここしばらく頭を悩ましている現象についてご相談させて下さい。

問題の現象は、あるプロセスでデータベース(以下DB)へのデータ登録と
ファイルへのデータ出力を繰り返すとメッセージキューでのデータ受信が
出来なくなるというものです。

○問題発生までの過程
1)別プロセスからメッセージキューを通じてデータを受信するプロセスPがあります。
2)プロセスPは受信したデータの一部をDBに登録します。
3)プロセスPは残りのデータをStreamWriterによってファイル出力します。
出力ファイルはデータの出力毎に作成します。
StreamWriterはファイル毎に生成します。データの出力完了時に .Close() と =Nothing
で開放しています。
また、ファイル名にはID番号を付与し、ID番号に応じたフォルダに振り分けています。
1フォルダあたり1000ファイルとなります。
4)上記2)3)を繰り返していると、プロセスPのメッセージキューにおいて、メッセージ受信
が出来なくなります。

○エラーメッセージ等
・コンピュータの管理:サービスとアプリケーション
該当するキューを参照すると、
「メッセージを読み取れません
エラー:リソース不足のため、この操作を実行できません」
・イベントビューア:アプリケーション
「メッセージ ファイル C:/WINNT/System32/msmq/STORAGE/r0000005.mq
を作成できません。
ディスク容量またはメモリが足りません。」

データ受信とDBへのデータ登録だけ行うと、問題の現象は発生しませんでした。
また、データ受信とデータのファイル出力だけ行った場合も問題の現象は発生しません。
そこで、ADO.NETを通じたDBアクセスとStreamWriterによるファイル出力を同一プロセスで
行った場合に何か問題,あるいは制限があるのかと思っているのですが?

どなたか情報をお持ちの方がおられましたら、ご教示下さい。
よろしくお願い致します。
1

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