0

DotNetNuke私は、大学で学生管理のために使用されている、ASP.NET アプリケーションを持っています。

時々、実行時間の長いレポートを生成するときに、アプリケーションは次のようなエラーをスローします。

DataBinding: 'System.Data.DataRowView' に XXXX という名前のプロパティが含まれていません

どこXXXが違うかも。

これらのすべてのプロパティ(見つからないように見える)が存在し、ストアド プロシージャによって正常に生成されることを強調する必要があります (Sql Management studio でクエリを実行する場合)。コードは 95% の確率で機能しますが、レポートの生成時に機能しなくなります...

再コンパイルまたはアプリケーションの再起動後、すべてが正常に機能しているように見えます (レポートを再度生成するまで)。

私のDotNetNukeモジュールが以前の例外をスローしている間、サイトには常に正常にアクセスできます。エラーをスローするすべてのモジュールは、SqlServerDataSource. を指定しましたe.Command.CommandTimeout = 60;が...運が悪いです。私たちのアプリケーションはObjectDataSourceSqlDataSourceとコード ビハインド データ バインディングを使用します。これらのエラーは、使用しているページにのみ表示され、コード ビハインド データ バインディング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 クアッドコア)
4

1 に答える 1

0

SQL Profilerを使用して、SQLServerからのエラーを監視します。これにより、SQL Serverが愚かであるのか、それともWebサーバー側の問題であるのかがわかります。

于 2009-03-31T04:44:36.240 に答える