Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Начинающим";
Текущий архив: 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.005 c
2-1217408913
денис_м
2008-07-30 13:08
2008.09.07
Настройки в программе


2-1217335816
Mops
2008-07-29 16:50
2008.09.07
1251 в UTF


2-1217258154
lavgirls
2008-07-28 19:15
2008.09.07
Выравнивание текста


15-1216176501
Slider007
2008-07-16 06:48
2008.09.07
С днем рождения ! 16 июля 2008 среда


2-1216983326
@!!ex
2008-07-25 14:55
2008.09.07
Быстрая фрагментация треугольника. Как?





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский