![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
CommandTime Out
Анонимщики © (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]> Странный какой то код
это пример, и да, в таком виде он действительно не работает как должен бы...