Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Базы";
Текущий архив: 2003.06.02;
Скачать: [xml.tar.bz2];

Вниз

Проблема с ConnectTimeout при работе с ADO   Найти похожие ветки 

 
EugeneK   (2003-05-14 10:44) [0]

Работаю через ADOConnection.
Изначально поставил 30 секунд и все отлично, но сейчас появилась хранимая процедура, работающая минуты три. Увеличил ConnectTimeout до 100, но ровно через 30 секунд после запуска ADOStoredProc.Open вылазит Exception "Timeout expired". ConnectionString у ADOConnection генерю программно. Вставил в генерацию добавление параметра "...;Connect Timeout=100;...". Не помогло. Попробовал после генерации ConnectionString сделать

ADOConnection.ConnectTimeout:=100;
ADOConnection.Open;

как в справке :), но все равно через 30 секунд те же грабли.
Может где-нить на компе сохраняется какая-то настройка? Может где-то в настройке ADO-клиента на компе зашиты эти 30 секунд?
Может где-то глюк в версии MDAC? Ну и если в ДНК у меня глюк, то тоже не стесняйтесь :)

В общем, кто-нить сталкивался и как поборол?

ЗЫ. Конечно могу разбить запрос на мелкие подзапросы, но это крайний вариант, так как сильно замедлит формирование отчета, как мне кажется. В хранимой процедуре вытаскивается список товаров по определенным условиям, а потом для каждого товара выполняется определенный анализ. Так вот можно этот анализ сделать в виде отдельной sp, и вызывать ее для каждого товара перед выводом каждой строки на экран. Но ведь не по людски это :(

С интересом, Кеоваленко Евгений.


 
АлексейК   (2003-05-14 13:06) [1]

1. Однако CommandTimeout:=100. Но значение этого ствойства не передается подлюченным через него компонетам.
2. Если используешь для работы компонеты AdoCommand, AdoDataSet,
AdoQuery, AdoTable, AdoStorenProc, то для них CommandTimeout выставляется отдельно. Причем для AdoQuery, AdoTable, AdoStorenProc их можно выставить только програмно переопределив класс компонета.
3. К тому же на MSSQL тоже есть настройка тайаута, по умолчанию она 5 минут.


 
NAlexey   (2003-05-14 13:13) [2]

>только програмно переопределив класс компонета.
В D5 - стандартный глюк. Лечится патчем, или вышеуказанным методом.


 
EugeneK   (2003-05-14 17:22) [3]

Конечно CommandTimeout, заговорился :)

Однако каким патчем лечится (как называется, чтобы его найти или ссылочка есть)?
После этого патча не надо выставлять отдельно у TStoredProc?

А если без патча, то мне надо что типа (довольно грубо, конечно):

============================
unit unit1;

interface
....

TMySP = class(TStoredProc)
public
CommandTimeout : integer;
end;

Var MySP : TmySP;

implementation
.....

Procedure ....OnCreate(...);
begin
...
MySP:=TmySP.Create(...);
MySP.CommandTimeout:=100;
QuickReport.DataSet:=MySP;
...
end;

======================================

PS. Тут я не силен, поэтому поправьте, плиз, особенно это касается того, как сделать CommandTimeout видимым...

Заранее спасибо.


 
EugeneK   (2003-05-15 10:34) [4]

Извиняюсь, но проблема актуальна очень, поэтому все еще надеюсь на помощь...

С надеждой, Коваленко Евгений.
Калининград.



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

Форум: "Базы";
Текущий архив: 2003.06.02;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.45 MB
Время: 0.006 c
1-2905
saska
2003-05-22 20:01
2003.06.02
Прогресс бар в статусной строке...


14-3153
dim-
2003-05-14 21:57
2003.06.02
Как можно поставить ограничение на внешние дисководы?


3-2750
phisy1
2003-05-13 14:41
2003.06.02
Фиксированный dbgrid


1-2997
_Alex_
2003-05-20 14:36
2003.06.02
d6 и диалог на основе TOpenPictureDialog


4-3228
Ик сик
2003-04-03 15:23
2003.06.02
Программно нажать клавишу





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский