繁体   English   中英

超时时间已到。 操作完成之前经过的超时时间或服务器未响应

[英]Timeout expired. The timeout period elapsed prior to completion of the operation or the server is not responding

我的程序就是这样,

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将有所帮助。

web.config中的ExecutionTimeout :指定允许HTTP请求执行的最大秒数

CommandTimeout :指定允许执行SQL命令的最大秒数

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

增加您的CommandTimeout

        DataSet ds = new DataSet();
        SqlConnection myConnection= new SqlConnection(connectionString);
        myConnection.Open();
        SqlCommand sqlCmd= new SqlCommand("sql statement");
        sqlCmd.Connection = myConnection;
        sqlCmd.CommandTimeout = 90;
        myReader = New SqlDataAdapter(sqlCmd);
        myReader.Fill(ds)
        myConnection.Close();

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM