Главная страница
    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.031 c
1-1080545334
Ricks
2004-03-29 11:28
2004.04.18
Получение картинки из Office2003


1-1080566005
Антон Леонидович
2004-03-29 17:13
2004.04.18
file of Text, char, byte


4-1076421131
sherminator
2004-02-10 16:52
2004.04.18
окно без кнопок


7-1077125568
Status
2004-02-18 20:32
2004.04.18
Добавить свою прграмму в "Пуск->Выполнить"


1-1080804481
Layner
2004-04-01 11:28
2004.04.18
Закрасить фигуру TShape бело-синим, плавным перетоком





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский