Я запускаю запрос, который синхронизируется в течение первых двух раз и возвращает результаты в третий раз.Как передать параметр таймаута в SQL Database Engine
Как сообщить SQL Server, что запрос будет завершен, а не тайм-аут?
Я запускаю запрос, который синхронизируется в течение первых двух раз и возвращает результаты в третий раз.Как передать параметр таймаута в SQL Database Engine
Как сообщить SQL Server, что запрос будет завершен, а не тайм-аут?
По умолчанию SqlCommand.CommandTimeout установлен на 30 секунд. Вы можете назначить более длительную продолжительность перед выполнением запроса или установить значение 0 для отсутствия таймаута. (если вопрос относится к программированию .Net)
Вы также можете установить его в строке соединения в строке соединения.
"Data Source=(local);Initial Catalog=AdventureWorks;Integrated Security=SSPI;Connection Timeout=30"
Тайм-аут - это то, что контролируется клиентским приложением, а не сервером. Это время, когда клиент готов дождаться ответа с сервера.
Независимо от того, какой пакет вы используете для доступа к базе данных, значение где-то будет иметь значение тайм-аута.
Например, в VBA с ADODB можно установить тайм-аут до 60-х годов следующим образом:
Dim cn As ADODB.Connection
Set cn = new ADODB.Connection
cn.CommandTimeout = 60
Как Шейн отмечалось выше, вы можете установить его в строке соединения, а также.
спасибо shane за ваш ответ. Ответ от devio тоже сработал. также изменит параметр тайм-аута строки подключения и посмотрит, как это работает. –
@Shane: время ожидания подключения влияет на время выполнения команд или только время ожидания открытия соединения? –
Моя ошибка - время ожидания соединения - это только время ожидания для первоначального подключения к базе данных. Благодарим за вежливость. :) –