![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Остановка процедуры на сервере... [D5, MSSQL]
Goida © (2004-03-19 21:03:00)Как это можно сделать? И можно ли вообще? Допустим, из своей проги я вызываю сохраненную процедуру (архивирование базы). Она выполняется долго и пользователь решает отменить её.
Nikolay M. (2004-03-23 11:24:00) [1]
> ну я так и делаю, более того, полагаю, что и QA поступает
> так-же.
Судя по всему так и есть. Во всяком случае профайлер ничего, вроде kill-ов не поймал.
Имхо, не нужно так усложнять и ходить на грани, если уже выяснили, что процедура сделана своя и в ней можно реализовать штатный выход. А если убивать приведенными жестокими способами, наверняка после работы процедуры останется куча мусора.
Delirium (2004-03-23 10:54:00) [2]"А ты бы сам так сделал? " - хм, ну я так и делаю, более того, полагаю, что и QA поступает так-же. Хотя, конечно, грамотнее - убивать процесс на севере, инструментарий такой имеется (
sp_who, sp_lock, sysprocesses, kill).
Nikolay M. (2004-03-23 10:44:00) [3]
> Polevi ©
А ты бы сам так сделал? :)
Я бы не рискнул.
Хотя смысл задачи вообще странный: бэкап запускается и отменяетсяюзером...
Polevi (2004-03-23 10:17:00) [4]есть простой кривой вариант
можно в отдельном потоке подключаться к серверу, стартануть запрос а при нажатии кнопки - TerminateThread - сервер словит отвал клиента и завершит процедуру
Nikolay M. (2004-03-23 09:33:00) [5]Это уже другой вопрос. Для начала нужно разобраться, как остановить процедуру на сервере. А как ты будешь это делать на клиенте: через доп. поток или цикл обработки сообщений - уже не так важно.
Goida (2004-03-23 09:29:00) [6]Тогда такой вопрос. Значит работу этой процедуры нужно поместить в отдельный поток? Но как это сделать? С помощью TThread?
Nikolay M. (2004-03-22 17:15:00) [7]Ну, если процедура своя и в ней присутствует какой-нибудь цикл, то самое простое, имхо, внутри этого цикла проверять како-нибудь поле какой-нибудь таблицы, в которое по кнопке Cancel будет заноситься какое-нибудь значение.
Не думаю, что я сказал что-то новое и умное...
Goida (2004-03-22 16:51:00) [8]А если бы была стандартная?
Goida (2004-03-22 16:50:00) [9]Написана своя
Nikolay M. (2004-03-20 14:00:00) [10]
> архивирование базы
Написана своя или применяется стандартная процедура?