Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2008.09.07;
Скачать: CL | DM;

Вниз

ADOConnection и его ConnectionTimeout   Найти похожие ветки 

 
wsv   (2008-07-29 14:21) [0]

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

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

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


 
stas ©   (2008-07-29 14:29) [1]

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


 
stas ©   (2008-07-29 14:29) [2]

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


 
Ega23 ©   (2008-07-29 14:32) [3]

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


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


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


Не помогает.


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


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


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


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


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

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


 
Knight ©   (2008-07-29 14:48) [6]

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

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


 
Ega23 ©   (2008-07-29 14:51) [7]


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


Да ну???


 
stas ©   (2008-07-29 14:52) [8]

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

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

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


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

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


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


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

:-D

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


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


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


Да ну... :-D


 
Ega23 ©   (2008-07-29 15:05) [12]


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


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


 
stas ©   (2008-07-29 15:05) [13]

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


 
Ega23 ©   (2008-07-29 15:08) [14]

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


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

wsv , Ega23 ©  

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


 
MsGuns ©   (2008-07-29 15:24) [16]

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


 
Ega23 ©   (2008-07-29 16:08) [17]


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


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


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


 
stas ©   (2008-07-29 16:33) [18]

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

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


 
sniknik ©   (2008-07-29 16:38) [19]

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

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

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

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


 
Ega23 ©   (2008-07-29 16:47) [20]


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


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


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

type
 THackAdoDataset=class(TCustomAdoDataset);

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


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

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



Страницы: 1 вся ветка

Текущий архив: 2008.09.07;
Скачать: CL | DM;

Наверх




Память: 0.51 MB
Время: 0.013 c
2-1216971118
lavgirls
2008-07-25 11:31
2008.09.07
Подскажите как запустить exe файл другого приложения


4-1195566682
Новый_
2007-11-20 16:51
2008.09.07
Flash USB


2-1217309805
Оксана Вл.
2008-07-29 09:36
2008.09.07
Не срабатывает dbEditing


2-1217144058
krem
2008-07-27 11:34
2008.09.07
динамический массив


8-1183385127
Walter
2007-07-02 18:05
2008.09.07
Проиграть mp3