Подтвердить что ты не робот

Как установить тайм-аут запроса из строки подключения SQL

Я хочу установить время выполнения запроса из строки подключения. а не таймаут соединения, возможно ли это?

4b9b3361

Ответ 1

Нет. Это за команду, а не за соединение.

Изменить, май 2013 г.

Как указано в комментарии:

Еще несколько заметок о командах и тайм-аутах выполнения в SQL Server (DBA.SE). И еще более SO stuff: Что происходит с незафиксированной транзакцией при закрытии соединения?

Ответ 2

Смотрите: - ConnectionStrings контент по этому вопросу. Не существует свойства тайм-аута команды по умолчанию.

Ответ 3

Вы можете установить только время ожидания соединения в строке подключения, тайм-аут для вашего запроса, как правило, находится в тайм-ауте команды. (Предполагая, что мы говорим .net здесь, я не могу сказать из вашего вопроса).

Однако тайм-аут команды не действует, когда команда выполняется против контекстного соединения (SqlConnection открывается с "context connection = true" в строке соединения).

Ответ 4

Только из кода:

namespace xxx.DsXxxTableAdapters {
    partial class ZzzTableAdapter
    {
        public void SetTimeout(int timeout)
        {
            if (this.Adapter.DeleteCommand != null) { this.Adapter.DeleteCommand.CommandTimeout = timeout; }
            if (this.Adapter.InsertCommand != null) { this.Adapter.InsertCommand.CommandTimeout = timeout; }
            if (this.Adapter.UpdateCommand != null) { this.Adapter.UpdateCommand.CommandTimeout = timeout; }
            if (this._commandCollection == null) { this.InitCommandCollection(); }
            if (this._commandCollection != null)
            {
                foreach (System.Data.SqlClient.SqlCommand item in this._commandCollection)
                {
                    if (item != null)
                    { item.CommandTimeout = timeout; }
                }
            }
        }
    }
 
    //....
 
 }