Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Помогите!!! Timeout expired при вызове StoredProc [D5, MSSQL]


Blacksun ©   (2004-10-21 13:12:00) 

IDE - Delphi5, база - MS SQL Server 2000.
При вызове сохраненной процедуры:
ADOStoredProc.ExecProc
через 30 сек появляется сообщение "Timeout expired".
Сохраненная процедура связана через ADOConnection, где KeepConnection:=true, CommandTimeout и ConnectionTimeout выставленны значительные (3600), однако эти значения похоже игнорируются. Сама проц-ра на сервере выполняется за 1,5 минуты.
Как заставить ждать завершения более длительное время
На сайте borland.xportal.ru обсуждается данная проблемма
( http://borland.xportal.ru/forum/viewtopic.php?t=5678&sid=0e2cfccccfb97fabb528cb8256790588)
Там предлагается создать наследника от TADOStoredProc, где переопределить свойство CommandTimeout (приводится листинг на CPP). Но тогда как это сделать в Delphi?
Помогите пожалуйста!


Blacksun   (2004-10-21 16:20:00) [1]

Мне подсказали на SQL.ru
вариант раз
try
 FADOCommand1 := TADOCommand.Create(nil);
 FADOCommand1.Connection := FADOConnection;
 FADOCommand1.CommandType := cmdText;
 FADOCommand1.CommandTimeout := COMMAND_TIMEOUT_MY;

 FADOCommand1.CommandText := 'exec ap_Ts_XMLWrite';
 FADOCommand1.Execute;

вариант два
TADODataSet(ADOQuery1).CommandTimeout := 300

вариант три
FADOConnection.Execute('exec ТвояПроцедура', cmdStoredProc);


Наверх

Титульная страница Поиск, карта сайта Написать письмо