DotNetNuke
私は、大学で学生管理のために使用されている、ASP.NET アプリケーションを持っています。
時々、実行時間の長いレポートを生成するときに、アプリケーションは次のようなエラーをスローします。
DataBinding: 'System.Data.DataRowView' に XXXX という名前のプロパティが含まれていません
どこXXX
が違うかも。
これらのすべてのプロパティ(見つからないように見える)が存在し、ストアド プロシージャによって正常に生成されることを強調する必要があります (Sql Management studio でクエリを実行する場合)。コードは 95% の確率で機能しますが、レポートの生成時に機能しなくなります...
再コンパイルまたはアプリケーションの再起動後、すべてが正常に機能しているように見えます (レポートを再度生成するまで)。
私のDotNetNuke
モジュールが以前の例外をスローしている間、サイトには常に正常にアクセスできます。エラーをスローするすべてのモジュールは、SqlServerDataSource
. を指定しましたe.Command.CommandTimeout = 60;
が...運が悪いです。私たちのアプリケーションはObjectDataSource
、SqlDataSource
とコード ビハインド データ バインディングを使用します。これらのエラーは、使用しているページにのみ表示され、コード ビハインド データ バインディングSqlDataSource
を使用しているページには表示されないようです。ObjectDataSource
マシン上のこの「謎」を解決するために、集中的で大規模なレポート (データ ウェアハウスなど) に使用されるテーブルを移動する別のインスタンスを作成しました。この例では、Reporting Services もインストールしました。
したがって、SQL 2005 が使用されます。
- インスタンス 1: メインの運用データベース + 単純なレポート用の Reporting Services インスタンス 1
- インスタンス 2: レポート アクティビティに使用されるデータベース + 大きなレポート用の Reporting Services インスタンス 2
1222 フラグを使用してデッドロックもチェックしましたが、エラーが発生し始めたとき、両方のインスタンスのログにデッドロックはありません (実際にはエラーも警告もありません)。
また、メイン アプリ用と両方のレポート サービス インスタンス用に個別のアプリケーション プールがあります。
サーバー仕様:
- OS: Windows 2003 R2、64 ビット
- SQL Server 2005 標準、64 ビット
- 8GBのRAM
- Intel Xeon E 5345 2.33 Ghz (2 クアッドコア)