![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Error Time Out expected Помогите [MSSQL]
amamed_3071 © (2002-03-05 08:17:00)Помогите
Използую АДО при Active=true если продлится больше 30 сек дает ощибку "Time Out expected"
AdoConnection1.CommandTimeOut=900;
AdoConnection1 OnWillExecute
Command.CommandTimeOut=900
Кулюкин Олег (2002-03-05 14:14:00) [1]TADOQuery потомок TCustomADODataSet у которого есть свойство CommandTimeout (но оно приватное). У TADOConnection тоже есть свойство CommandTimeout, но на TADOQuery оно не влияет.
Чтобы избавиться от "Timeout expired" я сделал так:
1. Описал класс, в котором опубликовал свойство CommandTimeout
TMyADODataSet = class(TCustomADODataSet)
public
property CommandTimeout;
end;
2. Присвоил новое значение свойству CommandTimeout компонентов TADOQuery (по умолчанию оно равно 30)
TMyADODataSet(ADOQuery1).CommandTimeout := 60;
3. Вот собственно и все (ну можно еще заняться оптимизацией запросов).
Начинать желательно с третьего пункта.
Alex-A (2002-03-05 13:36:00) [2]У нас аналогичная проблема была.
Ошибка возникала при выполнении хранимой процедуры, которая выполняла достаточно сложные запросы и в зависимости от условий могла выполняться очень долго.
Немного увеличили CommandTimeOut и переписали процедуру (разбили ее на несколько и оптимизировали запросы)
amamed_3071 (2002-03-05 11:48:00) [3]ПРОБЛЕМА НЕ В КОННЕКШИНЕ А В АДО QUERY ВСЕ РАБОТАЕТ НОРМАЛНО ЕСЛИ ЗАПРОС НЕМНОЖКО СЛОЖНЫЙ И ОН МОЖЕТ ПРОДИЛИТСЯ БОЛЕЕ 30 СЕК В ЗАВИСИМОСТИ ОТ НАГРУЗКИ СЕРВАКА ТО ТОКОЙ ОШИБКА И ВОЗНИКАЕТ
Shirson (2002-03-05 11:29:00) [4]Мда...
Что продлится?
С какой базой работаешь?
Каковы настройки этой базы в ODBC?
Если у тебя идет _попытка_ соеденения, и сервак не отвечает, то таймаут и возникает. Проверь настройки ADOConnection, а именно строку коннекции. Скорее всего дырка там.
amamed_3071 (2002-03-05 11:02:00) [5]Помогите Помогите Помогите Помогите