Как сократить время ожидания SqlConnection

Я использую строку соединения SQL с SqlClient. SqlConnection и указание Connection Timeout = 5 в строке, но он все еще ждет 30 секунд, прежде чем вернуть ошибку. Как мне заставить его сдаться и вернуться быстрее? Я нахожусь в быстрой локальной сети и не хочу ждать 30 секунд. Серверам, которые не включены, требуется 30 секунд для сбоя. Это просто быстрая служебная программа, которая всегда будет запускаться только в этой локальной сети.

Редактировать : Извините, если мне было неясно. Я хочу, чтобы SqlConnection.Open работал быстрее. Надеюсь, что это можно сделать из того факта, что серверы, которые я хочу отключить быстрее, отключены.

Редактировать : Кажется, что настройка иногда дает сбой. Как будто он знает IP-адрес сервера и использует TCP / IP для связи с ним (не локально), но не может связаться с SQL Server по этому адресу? Я не уверен, что шаблон, но я не Я не вижу проблемы при локальном соединении с остановленным SQL Server, и я не вижу ее при попытке подключиться к несуществующему серверу. Я видел это при попытке связаться с сервером, где брандмауэр Windows 2008 блокирует SQL Server.

15
задан BlueMonkMN 1 September 2010 в 17:10
поделиться

1 ответ

Время ожидания команды и время ожидания подключения — это две разные вещи.

SqlConnection.ConnectionTimeout — это «время (в секундах) ожидания открытия соединения. Значение по умолчанию — 15 секунд». Используется только при вызове метода SqlConnection.Open().

SqlCommand.CommandTimeout делает то, что вы хотите.

0
ответ дан 1 December 2019 в 04:33
поделиться