2015-11-03 5 views
0

Моя процедура, как это,Время ожидания истекло. Время ожидания истекло до завершения операции или сервер не отвечает

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. 

I добавлено в веб-конфигурации

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

но я получаю такую ​​же ошибку.

, а также я попытался это

sqlCmd.CommandTimeout = 10 

Пожалуйста, предложите мне найти решение.

+0

сервер не отвечает, значит, вы не можете подключиться к базе данных, найти строку подключения в web.config и попытаться подключиться с помощью SQL Management Studio, чтобы убедиться, что вы можете подключиться к базе данных. –

+0

Разделяется ли соединение? Не используйте его повторно или не используйте. Вместо этого создайте его в этом методе с помощью 'Using'-statement. –

+1

Возможный дубликат [Время ожидания истекло. Период ожидания истекает до завершения операции или сервер не отвечает. Заявление было прекращено] (http://stackoverflow.com/questions/8602395/timeout-expired-the-timeout-period-elapsed-prior-to-completion-of-the-operation) –

ответ

0

Убедитесь, что ваше соединение остается открытым и не выбрано, поскольку это приведет к выходу пула соединений. Ваша проблема будет исправлена, если вы правильно настроите соединение.

Также проверьте правильность вашей статистики/плана БД. Если нет, очистите его с помощью

exec sp_updatestats 

Также, установка commandTimeOut поможет.

0

ExecutionTimeout в web.config: Определяет максимальное количество секунд что запрос HTTP разрешено выполнять

CommandTimeout: Определяет максимальное количество секунд что команда SQL разрешено для выполнения

Попробуйте установить CommandTimeout на более высокое значение. По умолчанию: секунды.

Смежные вопросы

 Смежные вопросы