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

Вниз

CommandTimeout в ADO   Найти похожие ветки 

 
BoxTer ©   (2003-08-01 09:16) [0]

Доброе время суток.
Столкнулся с такой проблемой, клиентская прога ожидает выполнения процедуры на сервере вызванной командой ExecProc; Расчеты долгие, данных много. Через 30 сек вываливается сообщение "Timeout expired" - с этим понятно, но почему через 30 сек и как мне увеличить значение?
Пробовал в свойствах соединения, в файлике ADODB.pas (и пробовал копировать его в delphi\lib) - ничаво не помогает... Усе равно 30 сек...


 
KSergey ©   (2003-08-01 09:32) [1]

BoxTer © (01.08.03 09:16)
Доброе время суток.
Столкнулся с такой проблемой, клиентская прога ожидает выполнения процедуры на сервере вызванной командой ExecProc; Расчеты долгие, данных много. Через 30 сек вываливается сообщение "Timeout expired" - с этим понятно, но почему через 30 сек и как мне увеличить значение?
Пробовал в свойствах соединения, в файлике ADODB.pas (и пробовал копировать его в delphi\lib) - ничаво не помогает... Усе равно 30 сек...


Ой, зачем же так грубо-то поступать? ;)

Все проще. Надо пользовать ADOConnection и ADOCommand, ADODataSet
Эти компоненты покрывают польностью все потребности при соотв. настройках, там же есть настройка таймаутов.
А в ADOQuery и ADOStoredProc (про ADOTable я молчу) 30 сек задано насмерть, т.к. эти компоненты существуют лишь для облегчения перехода с предыдущих версий движков БД дельфи.


 
BoxTer ©   (2003-08-01 09:36) [2]

а шо железо не изменить?
блин, влом переделывать...


 
KSergey ©   (2003-08-01 10:21) [3]

Переделать там - 5 минут
Ну и еще 2 часа на состыковку, возможно ;)
Хатя вообще-то это я так, запугиваю
А переделок там действительно немного, а вот 30 сек таймаута вшиты насмерть (посмотрите исходники; возможно выяснится, что я что-то путаю, но на памяти осталась именно такая информация когда смотрел).


 
sniknik ©   (2003-08-01 10:51) [4]

проблема сушествовала до 6х дельфей без апдейтов, а в в пятых сам боролся подключая и переписывая ADODB (там менял значения по дефаулту или перед вызовом команды). но проще по моему все апдейты на дельфи поставить, тогда значения таймаута должны будут менятся.


 
KDS ©   (2003-08-01 11:08) [5]

Блин, а у меня обратная проблема: не знаю как обломать долговыполняющийся запрос к БД через IBObjects


 
BoxTer ©   (2003-08-01 11:15) [6]

какие апдейты, у меня стоят: D5EntUpdate, d5adoupdate2 ???


 
sniknik ©   (2003-08-01 11:25) [7]

> какие апдейты
http://se-ed.net/thaidelphicc/xml/updatepack/
посмотри, хотя я только про 6-ку точно знаю. причем ставил поочередно 1 после 2 ... (хотя 2 вроде первый включает), но чегото там "несрасталось".


 
Polevi ©   (2003-08-01 12:36) [8]

procedure TCustomADODataSet.OpenCursor(InfoQuery: Boolean);
...
...

явно указал таймаут
Source.CommandTimeout:=120;
ActiveConnection.CommandTimeOut:=120;

Recordset.Open(Source, ActiveConnection,
CursorTypeValues[FCursorType], LockTypeValues[FLockType],
( ExecuteOptions) procedure TCustomADODataSet.OpenCursor(InfoQuery: Boolean);
...
...

явно указал таймаут
Source.CommandTimeout:=120;
ActiveConnection.CommandTimeOut:=120;

Recordset.Open(Source, ActiveConnection,
CursorTypeValues[FCursorType], LockTypeValues[FLockType],
CommandTypeValues[CommandType] + ExecuteOptionsToOrd(ExecuteOptions));

и получаю Timeout expired через 30 сек

???


 
Polevi ©   (2003-08-01 13:02) [9]

ok, решил проблему

type
THackAdoDataset=class(TCustomAdoDataset);

procedure DatasetBeforeOpen(DataSet: TDataSet);
begin
THackAdoDataset(Dataset).Command.CommandObject.CommandTimeout:=666;
end;


 
KSergey ©   (2003-08-01 13:08) [10]

Это все, конечно, интересно, но вопрос: зачем????? Ну есть же готовые компоненты! Какая разница на что переделывать: на THackAdoDataset или TADODataSet???!



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

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

Наверх




Память: 0.49 MB
Время: 0.012 c
14-92189
delphin111
2003-08-09 17:58
2003.08.28
по моему вы все сосунки


3-91978
stud
2003-08-01 12:49
2003.08.28
вопрос по qreport


3-92036
rosl
2003-08-04 15:38
2003.08.28
количество набраных символов в edit


3-92041
chexum
2003-08-04 14:25
2003.08.28
TDBChart


9-91968
hex_for_delphi
2003-02-26 23:21
2003.08.28
где скачать заголовки DirectX 9.0 для Delphi