Главная страница
    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.052 c
3-1079596280
qwe
2004-03-18 10:51
2004.04.18
помогите начинающему программисту


9-1065980951
Sacred
2003-10-12 21:49
2004.04.18
Помогите разобраться с ошибкой!!! Очень прошу.


3-1079876881
Anarki
2004-03-21 16:48
2004.04.18
QReport - как узнать общее число страниц?


7-1076687427
Samael
2004-02-13 18:50
2004.04.18
Инсталлятор без окон и дверей


1-1080412954
begemot
2004-03-27 21:42
2004.04.18
RichEdit





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