Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Базы";
Текущий архив: 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.037 c
14-1080045191
Rule
2004-03-23 15:33
2004.04.18
Кто знает как связатся с MDFE?


3-1079940325
CJ
2004-03-22 10:25
2004.04.18
Oracle экспорт


4-1076279166
VideoLord
2004-02-09 01:26
2004.04.18
Как вызвать системное меню проводника?


14-1079961432
RealRascal
2004-03-22 16:17
2004.04.18
Задача по физике - Давление в желудке у котенка


8-1073172420
bilba_sumkin
2004-01-04 02:27
2004.04.18
Import icons from EXE or DLL





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский