超时已过期。之前完成上述操作超时时间已过或服务器没有响应

问题描述:

我的过程是这样的,超时已过期。之前完成上述操作超时时间已过或服务器没有响应

sqlCmd = New SqlCommand("sp_JBM_ProductionReprt", myConnection) 
       sqlCmd.CommandType = CommandType.StoredProcedure 
       sqlCmd.Parameters.Add(New SqlParameter("@Type", Data.SqlDbType.VarChar)).Value = SessionHandler.sCustAcc 
       sqlCmd.Parameters.Add(New SqlParameter("@FromDate", Data.SqlDbType.DateTime)).Value = strFromDate 
       sqlCmd.Parameters.Add(New SqlParameter("@ToDate", Data.SqlDbType.DateTime)).Value = strToDate 
       sqlCmd.Parameters.Add(New SqlParameter("@TblChapterInfo", Data.SqlDbType.VarChar)).Value = Init_Tables.gTblChapterInfo 
       sqlCmd.Parameters.Add(New SqlParameter("@TblProdStatus", Data.SqlDbType.VarChar)).Value = Init_Tables.gTblProdStatus 
       sqlCmd.Parameters.Add(New SqlParameter("@Condition", Data.SqlDbType.VarChar)).Value = strCondition 
       sqlCmd.Parameters.Add(New SqlParameter("@EmpSelection", Data.SqlDbType.VarChar)).Value = strEmpSel 
       sqlCmd.Parameters.Add(New SqlParameter("@SubTeamID", Data.SqlDbType.VarChar)).Value = " " 

      myConnection.Open() 
      sqlCmd.Connection = myConnection 
      'sqlCmd.CommandTimeout = 10 
      myReader = New SqlDataAdapter(sqlCmd) 

      myReader.Fill(ds) 

在等待不到一分钟,我得到这个错误

the timeout period elapsed prior to completion of the operation or the server is not responding. 

我添加在网络配置

<httpRuntime maxRequestLength="2097151" executionTimeout="10800" /> 

但我得到相同的错误。

而且我想这

sqlCmd.CommandTimeout = 10 

请建议我找到一个解决方案。

+0

服务器没有响应,这意味着您无法连接到数据库,请在web.config中找到连接字符串,并尝试使用SQL Management Studio进行连接,以确保您能够连接到数据库 –

+0

连接是否共享?不要重复使用它,甚至不要共享它。而是用'Using'语句在这个方法中创建它。 –

+1

[Timeout expired。可能重复。操作完成之前超时的时间或服务器没有响应。该声明已被终止](http://stackoverflow.com/questions/8602395/timeout-expired-the-timeout-period-elapsed-prior-to-completion-of-the-operation) –

检查您的连接是否保持打开状态并且未处理,因为这会导致连接池耗尽。如果正确处理连接,则问题将得到解决。

另请检查您的数据库统计/查询计划是否正确。如果没有,清除它使用

exec sp_updatestats 

此外,设置commandTimeOut将有所帮助。

ExecutionTimeout web.config中:指定的,一个HTTP请求被允许执行

的CommandTimeout的最大数量:指定一个SQL命令被允许的的最大数目执行

尝试将CommandTimeout设置为更高的值。默认为