簡體   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