views:

58

answers:

1

I have an ASP.NET application, built over DotNetNuke, used in my university for student management.

Any now and then, when generating some long-running report, the application throws an error like this: "DataBinding: 'System.Data.DataRowView' does not contain a property with the name XXXX" where XXX may be different.

I have to emphasize that all these properties (that appear not to be found) exist and they are generated OK by stored procedures (when querying in Sql Management studio). 95% of the time the code works but, when generating reports, it stops working...

After a recompilation or application restart everything seems to work normally (until I generate some reports again).

The DotNetNuke site may be accessed successfully all this time, while my modules throw previous exceptions. All the modules that throw errors are built using SqlServerDataSource. I've specified a "e.Command.CommandTimeout = 60;" but... no luck. Our application uses ObjectDataSource, SqlDataSource and code-behind data binding. These errors seem to appear only in the pages the use SqlDataSource but not in those using ObjectDataSource or code-behind data binding.

For solving this "mystery" on the machine we created another instance where we moved the tables used for intensive and large reports (like a data warehouse). For this instance we've also installed the Reporting Services.

So, the SQL 2005 is used: -instance 1: main production database + Reporting Services instance 1 for simple reports -instance 2: database used for reporting activities + Reporting Services instance 2 for large reports

we have also checked for deadlocks using the 1222 flag but when the errors start occurring there are no deadlocks (no errors or warnings, in fact) in the logs for both instances.

Also, there are separate application pools for the main app, and for both reporting services instances.

Server specs: - OS: Windows 2003 R2, 64 bit - SQL Server 2005 Standard, 64 bit - 8 GB RAM - Intel Xeon E 5345 2.33 Ghz (2 quad-core)

Thank you, Catalin

A: 

Use SQL Profiler to monitor the errors from the SQL Server. This will tell you if it's the SQL Server being stupid or if it is a problem on the web server side.

mrdenny