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

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

CommandTime Out


Страницы:   1 2

Анонимщики ©   (2008-05-22 15:07:00) 

Delphi2007, MS SQL 2005; SQL Native Client; ADO

Не работает CommandTimeout при выполнении хранимой процедуры (
ADOStoredProc1.ExecProc
) в случае, если эта процедура имеет вид вроде:

while (1=1)
 begin
   set @a = 0;
  end

Если же она содержит долговыполняющийся запрос, то все работает.
С чем это связано, не вполне ясно, но как бы добиться ожидаемой работы?


Анонимщики   (2008-05-27 17:17:00) [1]

Но меня больше интересовал Reindeer Moss Eater, поскольку у него все хорошо.
У меня же с версией, как в [37], то же самое, что и изначально (в [34]).


Анонимщики   (2008-05-27 17:14:00) [2]

У меня проблемы не на запросе, а при сильной загрузке сервера.


sniknik   (2008-05-27 16:17:00) [3]

2005.90.3042.0
10 февраля 2007
9.00.3042.00

но пробовал не только с найтивным клиентом, со старым тоже (и на 2000-ом сервере), без разницы.

чем не устаривает изменить запрос?


Анонимщики   (2008-05-27 15:52:00) [4]

Я хочу то же самое спросить у всех  прохожих. Поделитесь информацией.


Анонимщики   (2008-05-24 16:21:00) [5]

тук-тук


Анонимщики   (2008-05-23 14:28:00) [6]

Можно узнать параметры ваших файлов sqlncli.dll? Я так понимаю, что это и есть реализация клиента поставщика данных для Native MS SQL. У меня этот файл находится в "C:\Windows\system32"

Мои данные:
Версия (файла) - 2005.90.1399.00
Дата - 14.10.2005
Версия (продукта) - 9.00.1399.06


Анонимщики   (2008-05-22 23:45:00) [7]

Я это спрашивал у Reindeer Moss Eater, поскольку у него хоть что-то работает.
А пользоваться можно чем угодно, главное умеючи.


sniknik   (2008-05-22 19:44:00) [8]

> У Вас отваливается TADOCommand, а TADOStotedProc не отваливается?
у меня, если это ко мне, отваливается TADOCommand в случае с WAITFOR -> [27], и "висит" без него, если запрос как у тебя в -> [0], а что и как там с TADO/StoredProc(/Query/Table) мне пофигу, не пользовался и не буду, убраны с палитры компонент за ненадобностью.


Анонимщики   (2008-05-22 18:19:00) [9]

Подозреваю, что вопрос все же в клиенте.
Как можно узнать, какие именно dll-и используются?


Анонимщики   (2008-05-22 18:18:00) [10]

С TADOCommand  у меня то же самое


Анонимщики   (2008-05-22 18:15:00) [11]

У Вас отваливается TADOCommand, а TADOStotedProc не отваливается?


Reindeer Moss Eater   (2008-05-22 18:11:00) [12]

D7, MSSQL2005, Native Client


sniknik   (2008-05-22 18:04:00) [13]

> Я не знаю, что такое WAITFOR DELAY,
задержка на период, или ожидание до указанного времени

> но не понимаю, какие выводы из Вашего сообщения нужно сделать?
while (1=1)
begin
 set @a = 0;
 WAITFOR DELAY '000:00:01'
end
проверь

> У меня по таймауту отваливается и вот это:
может быть. не знаю от чего зависит... у меня есть разница, как и у автора.

> используй TADOCommand
я именно его и использовал (TADOStotedProc вообще ни под каким видом не пользую, даже для тестов)


Анонимщики   (2008-05-22 17:42:00) [14]

Так Вам нужно было проверить.
У Вас отваливается TADOCommand, а TADOStotedProc не отваливается?
Какая вас СУБД и какой провайдер, можете сказать?


Reindeer Moss Eater   (2008-05-22 17:25:00) [15]

используй TADOCommand


Reindeer Moss Eater   (2008-05-22 17:16:00) [16]

дурили нас с самого начала


Reindeer Moss Eater   (2008-05-22 17:13:00) [17]

ADOCommand1.CommandText:= 'WAITFOR DELAY ''000:00:10''';
ADOCommand1.CommandTimeout:= 3;
ADOCommand1.Execute;
вываливается по таймауту через 3 сек, а не завершается через 10. (и вставленная в твой цикл задержка в 1 сек например, тоже его разблокирует)


У меня по таймауту отваливается и вот это:

while (1=1)
begin
  set @a = 0;
 end


Анонимщики   (2008-05-22 16:54:00) [18]

> Странный какой то код
--это пример, и да, в таком виде он действительно не работает как должен бы...

В нем нет в начале ADOStoredProc1.ExecProc, а перед отменой нужно проверять, получен результат или еще нет. А так оно работает. В чем странность?


Анонимщики   (2008-05-22 16:51:00) [19]

Я говорил, что

while (1=1)
begin
  select @abcd = IDFile from lst_Files where FileSize = 336;
end;

не реагирует на таймаут точно так же, как и
while (1=1)
begin
  set @a = 0;
 end

Я не знаю, что такое WAITFOR DELAY, но не понимаю, какие выводы из Вашего сообщения нужно сделать?


sniknik   (2008-05-22 16:49:00) [20]

> Странный какой то код
это пример, и да, в таком виде он действительно не работает как должен бы...


Страницы:   1 2

Наверх

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