1

SQL データベースのデータに基づいてレポートを生成するアプリケーションを作成しました。アプリケーションは、エントリ数が少ないレポートでは正常に動作しますが、OutOfMemory 例外またはデータベース タイムアウト例外が発生する場合があります。私の質問は、これらの例外を管理して、すべてのデータがレポートに正しく書き込まれるようにするにはどうすればよいですか? アプリケーションで C# (VS 2010) と RDLC レポートを使用しています。

ありがとう

4

2 に答える 2

1

レポート内のすべてのデータを取得するために例外を実際に「処理」することはできません。タイムアウトを微調整することはできますが、それほど遠くまでは行きません。

あなたができることは、例外を防ぐことです:

  • OutOfMemoryException の場合: 集計を計算したり、レポート側の計算のほとんどを実行したりしないでください。コンピューティングの大部分は、ビューまたは OLAP に依存している可能性があります。
  • TimeOutException については、メモリと同じ答えです。ただし、最初に、非常に複雑な (コンパイルに時間がかかる) 動的クエリではなく、ストアド プロシージャと同様に、クエリの最適化 (インデックス、クエリ ヒント) に依存する必要があります。
于 2012-12-12T09:55:11.177 に答える
1

System.OutOfMemoryPCにメモリを追加する以外は、例外なく何もできません。タイムアウトを使用するには、タイムアウトを増やすことができます。

于 2012-12-12T09:47:13.707 に答える