VS 2010: исключение тайм-аута SQL, SQL Server работает нормально - PullRequest
0 голосов
/ 30 ноября 2011

Я столкнулся с проблемами, когда в VS 2010 я получил исключение тайм-аута, но в MS SQL Server он работает нормально.Запрос sproc, который содержит оператор выбора с несколькими объединениями.Какая причина, у вас есть какие-либо подсказки?

Спасибо!

Ответы [ 2 ]

1 голос
/ 30 ноября 2011

Это случилось со мной однажды, когда я забыл правильно закрыть соединение в одной новой подпрограмме, которая часто называлась.

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

Проверьте монитор активности, чтобы убедиться в наличии большого количества подключений от вашего клиента, и если это так, проверьте, правильно ли вы закрыли все подключения.

1 голос
/ 30 ноября 2011

Обычно это происходит, когда сервер базы данных не отвечает в течение времени по умолчанию.Если вы пытаетесь подключиться к удаленной базе данных, эта ситуация наиболее вероятна из-за непоследовательного сетевого подключения.

Или это не реагирующее поведение также может быть вызвано тем, что слишком много прецессии на стороне сервера либо из-за того, что ваш запрос слишком сложен (имеет много объединений и ссылается на множество представлений и пользовательских функций), либооперация обслуживания выполняется на стороне сервера (например, резервное копирование базы данных и т. д.).

Также убедитесь, что в строке подключения установлено значение времени ожидания подключения, например:

" server=myserver;database=myDatabase;uid=sa;pwd=pass;connection timeout=8; "

here '8' seconds is used as a default timeout limit. 

Другим возможным решением этой проблемы является установка параметра командной строки объекта объекта.

 idbcommand.CommandTimeout = 60000;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...