Timeout expired. The timeout period elapsed prior to completion of the operation or the server is not responding. Description: An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information about the error and where it originated in the code. Exception Details: System.Data.sqlClient.sqlException: Timeout expired. The timeout period elapsed prior to completion of the operation or the server is not responding. Source Error: Line 91: Line 92: DataSet getData; Line 93: getData = sqlHelper.ExecuteDataset(ConfigurationManager.ConnectionStrings["connstr"].ConnectionString,CommandType.StoredProcedure,"Course_NewReportGet_Get_Sav",objPara); Line 94: Line 95: foreach (DataRow dr in getData.Tables[0].Rows) Source File: c:\Users\Ryan\bancroft archive\santiago\santiago code\trunk\admin\tools\Optimus.aspx.cs Line: 93 Stack Trace: [sqlException (0x80131904): Timeout expired. The timeout period elapsed prior to completion of the operation or the server is not responding.] System.Data.sqlClient.sqlConnection.OnError(sqlException exception,Boolean breakConnection) +1950890 System.Data.sqlClient.sqlInternalConnection.OnError(sqlException exception,Boolean breakConnection) +4846875 System.Data.sqlClient.TdsParser.ThrowExceptionAndWarning(TdsParserStateObject stateObj) +194 System.Data.sqlClient.TdsParser.Run(RunBehavior runBehavior,sqlCommand cmdHandler,sqlDataReader dataStream,BulkCopySimpleResultSet bulkCopyHandler,TdsParserStateObject stateObj) +2392 System.Data.sqlClient.sqlDataReader.ConsumeMetaData() +33 System.Data.sqlClient.sqlDataReader.get_MetaData() +83 System.Data.sqlClient.sqlCommand.FinishExecuteReader(sqlDataReader ds,RunBehavior runBehavior,String resetOptionsString) +297 System.Data.sqlClient.sqlCommand.RunExecuteReaderTds(CommandBehavior cmdBehavior,Boolean returnStream,Boolean async) +954 System.Data.sqlClient.sqlCommand.RunExecuteReader(CommandBehavior cmdBehavior,String method,DbAsyncResult result) +162 System.Data.sqlClient.sqlCommand.RunExecuteReader(CommandBehavior cmdBehavior,String method) +32 System.Data.sqlClient.sqlCommand.ExecuteReader(CommandBehavior behavior,String method) +141 System.Data.sqlClient.sqlCommand.ExecuteDbDataReader(CommandBehavior behavior) +12 System.Data.Common.DbCommand.System.Data.IDbCommand.ExecuteReader(CommandBehavior behavior) +10 System.Data.Common.DbDataAdapter.FillInternal(DataSet dataset,DataTable[] datatables,Int32 startRecord,Int32 maxRecords,String srcTable,IDbCommand command,CommandBehavior behavior) +130 System.Data.Common.DbDataAdapter.Fill(DataSet dataSet,CommandBehavior behavior) +287 System.Data.Common.DbDataAdapter.Fill(DataSet dataSet) +94 Mexico.Data.sqlHelper.ExecuteDataset(sqlConnection connection,CommandType commandType,String commandText,sqlParameter[] commandParameters) +149 Mexico.Data.sqlHelper.ExecuteDataset(String connectionString,sqlParameter[] commandParameters) +93 admin_tools_Optimus.GetUsers() in c:\Users\Ryan\bancroft archive\santiago\santiago code\trunk\admin\tools\Optimus.aspx.cs:93 admin_tools_Optimus.GetCompanies() in c:\Users\Ryan\bancroft archive\santiago\santiago code\trunk\admin\tools\Optimus.aspx.cs:75 admin_tools_Optimus.Proceed(Object sender,EventArgs e) in c:\Users\Ryan\bancroft archive\santiago\santiago code\trunk\admin\tools\Optimus.aspx.cs:43 System.Web.UI.WebControls.Button.OnClick(EventArgs e) +111 System.Web.UI.WebControls.Button.RaisePostBackEvent(String eventArgument) +110 System.Web.UI.WebControls.Button.System.Web.UI.IPostBackEventHandler.RaisePostBackEvent(String eventArgument) +10 System.Web.UI.Page.RaisePostBackEvent(IPostBackEventHandler sourceControl,String eventArgument) +13 System.Web.UI.Page.RaisePostBackEvent(NameValueCollection postData) +36 System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint,Boolean includeStagesAfterAsyncPoint) +1565
解决方法
也许这不适用,但我认为应该被提及.默认的CommandTimeOut为30秒.对于99.9%的Web应用程序中发生的任何操作,这应该是足够的时间.除非您绝对确定该操作需要更长的时间,否则您应该花费时间尝试优化sql,以便在< 30秒内返回.正确的索引是开始的好地方.