超时已过期。之前完成上述操作超时时间已过或服务器没有响应
问题描述:
我的过程是这样的,超时已过期。之前完成上述操作超时时间已过或服务器没有响应
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
请建议我找到一个解决方案。
答
检查您的连接是否保持打开状态并且未处理,因为这会导致连接池耗尽。如果正确处理连接,则问题将得到解决。
另请检查您的数据库统计/查询计划是否正确。如果没有,清除它使用
exec sp_updatestats
此外,设置commandTimeOut
将有所帮助。
答
ExecutionTimeout web.config中:指定的秒,一个HTTP请求被允许执行
的CommandTimeout的最大数量:指定一个SQL命令被允许的秒的最大数目执行
尝试将CommandTimeout设置为更高的值。默认为 秒。
服务器没有响应,这意味着您无法连接到数据库,请在web.config中找到连接字符串,并尝试使用SQL Management Studio进行连接,以确保您能够连接到数据库 –
连接是否共享?不要重复使用它,甚至不要共享它。而是用'Using'语句在这个方法中创建它。 –
[Timeout expired。可能重复。操作完成之前超时的时间或服务器没有响应。该声明已被终止](http://stackoverflow.com/questions/8602395/timeout-expired-the-timeout-period-elapsed-prior-to-completion-of-the-operation) –