Symfoware Serverで、.NETアプリケーションを実行したときのメモリ不足例外について
Symfoware Server (Open/Postgres共通)のよくあるご質問を検索できます。
Symfoware Server の技術情報はこちら
- Symfoware Serverで、.NETアプリケーションを実行したところ、System.OutOfMemoryExceptionという例外が発生しました。原因と対処方法を教えてください。
-
[原因]
以下が原因の可能性があります。
- バイナリ列データ型やその他の大きなデータ構造のテーブルに対して、ExecuteReader()を実行している
- データベースへの接続文字列で、PreloadReader=trueを指定している
[対処方法]
以下の変更ができないか検討してください。- ExecuteReader()をExecuteReader(CommandBehavior.SequentialAccess)に変更する
- PreloadReader=Trueを、PreloadReader=Falseに変更する
ExecuteReader(CommandBehavior.SequentialAccess)の詳細は、"Microsoft Docs"の".NETのドキュメント"で、"Command?Behavior 列挙型"を参照してください。
PreloadReaderの詳細は以下のマニュアルを参照してください。
FUJITSU Software Symfoware Server V12.4.0
アプリケーション開発ガイド
第4章 .NET Data Provider
4.3 データベースへの接続
4.3.4 接続文字列
なお、上記以外の製品バージョン/レベルについては、該当するマニュアル箇所を参照してください。
製品・サービス区分 | Symfoware | ||||||
---|---|---|---|---|---|---|---|
製品・サービス情報 |
|
||||||
アンサー種別 | 設計/開発 |