一个大型的报表
错误如下: 但在“查询分析器里”不会出现错误 ,执行时间为36秒
“/saas”应用程序中的服务器错误。
--------------------------------------------------------------------------------超时时间已到。在操作完成之前超时时间已过或服务器未响应。 
说明: 执行当前 Web 请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。 异常详细信息: System.Data.SqlClient.SqlException: 超时时间已到。在操作完成之前超时时间已过或服务器未响应。源错误: 执行当前 Web 请求期间生成了未处理的异常。可以使用下面的异常堆栈跟踪信息确定有关异常原因和发生位置的信息。  堆栈跟踪: 
[SqlException: 超时时间已到。在操作完成之前超时时间已过或服务器未响应。]
   System.Data.SqlClient.SqlCommand.ExecuteReader(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream) +742
   System.Data.SqlClient.SqlCommand.ExecuteReader(CommandBehavior behavior) +44
   System.Data.SqlClient.SqlCommand.System.Data.IDbCommand.ExecuteReader(CommandBehavior behavior) +5
   System.Data.Common.DbDataAdapter.FillFromCommand(Object data, Int32 startRecord, Int32 maxRecords, String srcTable, IDbCommand command, CommandBehavior behavior) +304
   System.Data.Common.DbDataAdapter.Fill(DataSet dataSet, Int32 startRecord, Int32 maxRecords, String srcTable, IDbCommand command, CommandBehavior behavior) +77
   System.Data.Common.DbDataAdapter.Fill(DataSet dataSet) +38
   
--------------------------------------------------------------------------------
版本信息: Microsoft .NET Framework 版本:1.1.4322.2032; ASP.NET 版本:1.1.4322.2032

解决方案 »

  1.   


    主要是由于,执行存储过程耗时太长了。结果导致数据库命令对象超时,抛出异常。
         解决方法很简单,在代码中找到命令对象比如SqlCommand对象,给CommandTimeOut属性赋一个比较大的值。比如60秒,SqlCommand缺省超时设定是30秒。但在“查询分析器里”不会出现错误 ,执行时间为36秒LZ改改看
      

  2.   

    楼上的不是根本办法,还是优化你的SQL语句吧,这样的执行效率,客户会无法忍受的~!
      

  3.   

    支持楼上的说法, 如果一个页面需要36秒后才能open,我早关了,比猫还慢
      

  4.   

    在优化sql的基础上,设置连接字符串的Connect Timeout如Connect Timeout=100。