В чем разница между SqlCommand.CommandTimeout и SqlConnection.Параметра connectiontimeout?


есть ли разница между SqlCommand.CommandTimeout и SqlConnection.ConnectionTimeout в .NET?

5 72

5 ответов:

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

SqlCommand.CommandTimeout = ограничение времени ожидания для вашего SQL-запроса. Означает, сколько времени может занять запрос (например: SELECT, UPDATE) для его выполнения. Если он превышает SqlCommand.CommandTimeout, затем он останавливает выполнение. Произойдет ошибка тайм-аута команды.

SqlConnection.Connectiontimeout, т. = ограничение времени ожидания соединения. Значит, сколько времени ваш объект подключения может пытаться подключиться. Если он превышает указанное время, он прекращает соединение. Один произойдет ошибка тайм-аута соединения.

ConnectionTimeout указывает продолжительность ожидания перед тайм-аутом при попытке открыть an SqlConnection. Это имеет отношение к .

пока

SqlCommand.CommandTimeout указано время ожидания команды SqlCommand перед тайм-аутом. Это происходит после того, как соединение было открыто и один из ExecuteXXX методы были вызваны на объект команды.

Дополнительная Информация

значение по умолчанию CommandTimeout 30 секунд. Ноль(0) означает отсутствие ограничения. Вы можете установить CommandTimeout значение только в кодировке.

значение по умолчанию ConnectiontTimeout 15 секунд. Ноль (0) также указывает на отсутствие ограничений. Меньше нулевого значения (минус значение) получит ArgumentException. Вы можете установить ConnectionTimeout значение в файле кодирования и конфигурации.

select @@LOCK_TIMEOUT //get the TIMEOUT,default is -1
set LOCK_TIMEOUT = 600//set TIMEOUT with ms