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