Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

ADOConnection и его ConnectionTimeout


Страницы:   1 2

wsv ©   (2008-07-29 14:21:00) 

Как изменить таймаут у сабжа?

Установка значений в инспекторе не рулит.
Исправления ADODB.pas не рулят.
Создание наследника от него не рулит.

Чего еще сделать с ним?


wsv   (2008-07-30 09:18:00) [1]

Гыыы...
Тему сначала переместили в "Прочее", а теперь в "Начинающим"... :-D


Polevi   (2008-07-29 21:33:00) [2]

type
 THackAdoDataset=class(TCustomAdoDataset);

procedure TForm1.DatasetBeforeOpen(Dataset: TDataset);
begin
 THackAdoDataset(Dataset).Command.CommandObject.CommandTimeout:=12345;
end;


Ega23   (2008-07-29 16:47:00) [3]


> смысл, исполняемому коду надо дать "подышать", т.е. выполнять
> команды в которых проверка таймаута есть (select например).


Это интересно. Дома проверю.


sniknik   (2008-07-29 16:38:00) [4]

> Пиши CommandText (TSQL):
> waitfor delay '00:01:00'
> select OK
это не правильный пример.
waitfor функция, управление "входит внутрь" и не делает проверок на таймаут, а реагирует он именно на них ...

т.е. это примерно тоже самое, что сделать sleep(xxx) и удивляться почему событие на terminate потока (то что от дельфевского класса) посланное до этой функции во время нее не проходит.

как то тут было обсуждение таймаута с моим участием и waitfor, хочеш поищи в дайджестах, если клиента используешь там должна быть возможность поиска по 2м вхождениям.

смысл, исполняемому коду надо дать "подышать", т.е. выполнять команды в которых проверка таймаута есть (select например).
переделай пример на длительный цикл в котором 2 команды, insert и waitfor на 1 сек (чтобы в суме таже минута получилась). результат должен быть другим (не помню я там что в том обсуждении делал... и сейчас не проверял, лень).


stas   (2008-07-29 16:33:00) [5]

Если так:
AdoConnection1.Execute('waitfor delay '+#39+'00:01:00'+#39+' select 1',I);
ShowMessage (IntToStr(I));

то работает, а иначе stas ©   (29.07.08 15:05) [13]
правильно?


Ega23   (2008-07-29 16:08:00) [6]


> Либо я вас не понял либо  вы оба что-то путаете )


Пиши CommandText (TSQL):
waitfor delay '00:01:00'
select OK


Поставь CommandTimeout=90
Ну и запусти..


MsGuns   (2008-07-29 15:24:00) [7]

А внимательно хелп почитать влом конечно


stas   (2008-07-29 15:16:00) [8]

wsv , Ega23 ©  

Либо я вас не понял либо  вы оба что-то путаете )


Ega23   (2008-07-29 15:08:00) [9]

Вроде это дело ещё на сервере решается...


Ega23   (2008-07-29 15:05:00) [10]


> Сначала не поверили?


Вообще-то когда-то несколько лет назад я это дело обходил.
Вот только сейчас мучительно пытаюсь вспомнить как.


stas   (2008-07-29 15:05:00) [11]

Так это все таки CommandTimeOut у AdoConnection, так он  просто перекрывается свойством CommandTimeOut  в ADOCommand


wsv   (2008-07-29 15:01:00) [12]


> Это разные вещи


Да ну... :-D


wsv   (2008-07-29 15:01:00) [13]


> Гм.. действительно не работает...

:-D

Сначала не поверили?


Ega23   (2008-07-29 14:59:00) [14]

Гм.. действительно не работает...
Ну через TADOCommand тогда...


stas   (2008-07-29 14:52:00) [15]

wsv   (29.07.08 14:21)  
Это разные вещи CommandTimeOut и ConnectionTimeOut

ConnectionTimeOut - Это время ожидания подключения к серверу если через 30 сек сервер не откликнулся значит объект выведет ошибку подключения

CommandTimeOut  - Это время ожидания выполнения запроса, если через 30 сек запрос невыполнился объект выводит ошибку.


Ega23   (2008-07-29 14:51:00) [16]


> А попробуйте,- первое и второе... Разницы не увидите...


Да ну???


Knight   (2008-07-29 14:48:00) [17]

А теперь тоже самое но для 1с...
Столкнулся на днях... хранимая процедура формирует ответ 50 сек... и 1с её не дожидаясь вываливает таймаут.
Пришлось уменьшить время работы процедуры до 1,5 сек :)))

Но вопрос завис и остался, мож кто знает?


wsv   (2008-07-29 14:39:00) [18]

ЗЫ http://www.delphikingdom.com/asp/answer.asp?IDAnswer=5586


wsv   (2008-07-29 14:37:00) [19]


> что значит не рулит?


Не помогает.


> какая у вас проблема?


Таймаут ожидания соединения фиксирован где-то внутри коннекшена и составляет около 30 сек.


> Кажется, ты путаешь CommandTimeout и ConnectionTimeout


А попробуйте,- первое и второе... Разницы не увидите...


Ega23   (2008-07-29 14:32:00) [20]

Кажется, ты путаешь CommandTimeout и ConnectionTimeout


Страницы:   1 2

Наверх

Титульная страница Поиск, карта сайта Написать письмо