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

привет, я получаю сообщение об ошибке Timeout expired. The timeout period elapsed prior to completion of the operation or the server is not responding.
Я уже изменил соединение timeout = 60000, и в базе данных моя процедура выполняется за 43 секунды. так что, пожалуйста, дайте мне идеальное решение

благодарю вас


person amer khan    schedule 19.07.2011    source источник
comment
Здесь недостаточно информации, чтобы сказать, что вы делаете или что может быть причиной вашей проблемы.   -  person forsvarir    schedule 19.07.2011
comment
@amer Пожалуйста, предоставьте более подробную информацию. На каких языках вы работаете? Вы используете библиотеку, фреймворк, CMS? С какой серверной технологией вы общаетесь? Вы пытаетесь запросить базу данных, прочитать файл? В настоящее время в вашем вопросе отсутствует очень важная информация, что может привести к его закрытию.   -  person Sampson    schedule 19.07.2011
comment
@ Джонатан, ошибка является типичной ошибкой ado.net / sql, но ее настоящая дополнительная информация могла бы помочь. Хоть какие-то толковые теги.   -  person Pinakin Shah    schedule 19.07.2011
comment
Вам нужно будет предоставить дополнительную информацию, чтобы кто-нибудь мог решить эту проблему. Можете ли вы опубликовать соответствующий код, например?   -  person Matt Wilko    schedule 19.07.2011
comment
Пожалуйста, не задавайте один и тот же вопрос несколько раз. Сообщество уже сообщило вам, что вы не предоставляете достаточно информации, чтобы помочь вам. Обновите этот вопрос, указав дополнительную информацию, а затем отметьте его, чтобы он был открыт повторно. Спасибо   -  person Kev    schedule 19.07.2011
comment
@amer khan Пожалуйста, просмотрите мой ответ. Я уверен, что это решит вашу проблему.   -  person VMAtm    schedule 20.07.2011


Ответы (3)


Обратите внимание, что Timeout свойство для SqlConnection объект и Timeout свойство для SqlCommand объекта являются разными свойствами.
По умолчанию время ожидания команды установлено на 30 секунд. Установите его на 60, и ваша проблема будет решена:

commandObject.Timeout = 60;

Но, скорее всего, вам следует изменить свою SQL-процедуру или разделить ее на несколько частей.

person VMAtm    schedule 19.07.2011
comment
такой же ответ был вчера! - person Pinakin Shah; 20.07.2011
comment
@Pinakin Shah Можете ли вы объяснить, почему вы понизили голос? Я просто добавил совет по рефакторингу sql. - person VMAtm; 20.07.2011
comment
Ваш ответ был таким же, как и вчера, и я не проверял, что у вас есть дополнительные советы. Даст вам голос:) - person Pinakin Shah; 20.07.2011
comment
@Pinakin Shah обновил ответ, поэтому, пожалуйста, удалите свой отрицательный голос :) (я больше никогда не буду редактировать свои старые вопросы) - person VMAtm; 20.07.2011
comment
Любая причина для понижения? - person VMAtm; 19.12.2013

Попробуйте запустить SQL-запрос с помощью Microsoft SQL Server Management Studio и нажмите кнопку «Предполагаемый план выполнения». Это скажет вам, если у вас отсутствуют какие-либо индексы. Добавление отсутствующих индексов должно ускорить ваш запрос.

person m-smith    schedule 19.07.2011

Увеличьте время ожидания запроса. Тайм-аут соединения только на время соединения. Предполагая, что вы используете SqlCommand, там есть свойство тайм-аута.

person Pinakin Shah    schedule 19.07.2011