Описание
Задает или возвращает в секундах интервал ожидания, после которого возникает ошибка превышения времени ожидания при выполнении запроса к источнику данных ODBC.
Значение
Задаваемое или возвращаемое значение является выражением типа Integer, которое представляет интервал ожидания в секундах. Значением по умолчанию является 60.
Замечания
В процессе работы с базой данных ODBC, такой как Microsoft SQL Server, могут возникнуть задержки из-за сильной нагрузки на сеть или интенсивного использования сервера ODBC. Вместо бесконечного ожидания можно указать конечный интервал ожидания.
При использовании свойства QueryTimeout с объектом Connection или Database задает глобальное значение времени ожидания для всех запросов конкретной базы данных. Пользователь имеет возможность указать для конкретного запроса другое значение с помощью свойства ODBCTimeout соответствующего объекта QueryDef.
Для того чтобы указать в рабочей области Microsoft Jet значение, отличное от значения по умолчанию, следует создать новую запись «ODBC» на пути реестра \HKEY_LOCAL_MACHINE\SOFTWARE\Jet\3.5\, создать параметр QueryTimeout и задать для него нужное значение.
Пример
Следующая программа использует свойства ODBCTimeout и QueryTimeout, чтобы показать, как значение свойства QueryTimeout объекта Database задает значение по умолчанию свойства ODBCTimeout для любых объектов QueryDef, созданных в объекте Database.
Sub ODBCTimeoutX() Dim dbsCurrent As Database Dim qdfStores As QueryDef Dim rstStores As Recordset Set dbsCurrent = OpenDatabase("Борей.mdb") ' Изменяет стандартное значение свойства QueryTimeout ' в базе данных "Борей". Debug.Print "Стандартное значение QueryTimeout в " & dbsCurrent.QueryTimeout dbsCurrent.QueryTimeout = 30 Debug.Print "Новое значение QueryTimeout в " & dbsCurrent.QueryTimeout ' Создает новый объект QueryDef. Set qdfStores = dbsCurrent.CreateQueryDef("Товары", "SELECT * FROM Товары") qdfStores.Connect = "ODBC;DATABASE=pubs;UID=sa;PWD=;DSN=Publishers" ' Изменяет полученное по умолчанию значение свойства ' ODBCTimeout нового объекта QueryDef. Debug.Print "Стандартное значение ODBCTimeout для QueryDef: " & qdfStores.ODBCTimeout qdfStores.ODBCTimeout = 0 Debug.Print "Новое значение ODBCTimeout для: " & qdfStores.ODBCTimeout ' Выполняет запрос и отображает результаты. Set rstStores = qdfStores.OpenRecordset() Debug.Print "Содержимое набора записей:" With rstStores Do While Not .EOF Debug.Print , .Fields(0), .Fields(1) .MoveNext Loop .Close End With ' Удаляет новый объект QueryDef, созданный для демонстрации. dbsCurrent.QueryDefs.Delete qdfStores.Name dbsCurrent.Close End Sub