- - PR -
DBアクセスとファイル出力によるメッセージキューへの影響?
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