Форум: "Начинающим";
Текущий архив: 2008.09.07;
Скачать: [xml.tar.bz2];
Вниз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;
Скачать: [xml.tar.bz2];
Память: 0.49 MB
Время: 0.004 c