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