Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Базы";
Текущий архив: 2009.11.22;
Скачать: [xml.tar.bz2];

Вниз

уведомление из FireBird приложения   Найти похожие ветки 

 
Karburator   (2008-12-17 06:41) [0]

Здравствуйте, идет долгая работа хранимой процедуры, как мне посылать в приложение (написанное на делфи) уведомление об обработке следующей сотни записей? И как ловить это уведомление в приложении?


 
Сергей М. ©   (2008-12-17 08:50) [1]


> как мне посылать в приложение .. уведомление
> об обработке следующей сотни записей


А собссно зачем ?
Мне как потенциальному пользователю клиентской части твоего приложения абсолютно индифферентно что там и как делает сервер, мне нужно лишь знать что "система не зависла" и идет выполнение затребованной мной операции..


 
Karburator   (2008-12-17 09:21) [2]

ну как же, если операция работы с бд длится хотя бы минуты, то думаю для пользователя нужно обязательно организовать в клиентской части отображение прогресса с ходом процесса


 
Karburator   (2008-12-17 09:23) [3]

вот именно для того чтобы знать


 
Sergey13 ©   (2008-12-17 09:28) [4]

Самое простое, имхо, в ХП писать некое значение в некую таблицу и читать его от туда в приложении.


 
Johnmen ©   (2008-12-17 09:28) [5]

Это занятие бестолковое. Ибо евент всё одно придет после подтверждения транзакции.


 
Сергей М. ©   (2008-12-17 09:38) [6]


> после подтверждения транзакции


+1

А до ее подтверждения клиентом говорить о проценте обработанности чего-то там на сервере говорить попросту бессмысленно.


 
Сергей М. ©   (2008-12-17 09:40) [7]


> Karburator   (17.12.08 09:21) [2]


Покажи юзеру анимашку, просто развлеки его на эту минуту.
Можно и просто туда-сюда погонять ползунок какого-нить "бара" - юзеру этого будет вполне достаточно для успокоения.


 
Karburator   (2008-12-17 10:36) [8]

> Можно и просто туда-сюда погонять ползунок какого-нить "бара" - юзеру этого будет вполне достаточно для успокоения.
:))
А если у меня запускаются последовательно несколько тяжелых ХПшек внутри одной ХПшки на сервере, то стало быть если после каждой подтверждать транзакцию и по совету заносить значение в таблицу отображающую количество завершенных ХП и которую постоянно читать клиентом, то я частично решу проблему уведомления клиента о работе сервера?


 
Сергей М. ©   (2008-12-17 11:12) [9]


> Karburator   (17.12.08 10:36) [8]


Это уж тебе решать насчет подтверждения ТА ..
Но если она подтверждена, то и таблица не нужна - достаточно post_event


 
Правильный$Вася   (2008-12-17 11:16) [10]


> А если у меня запускаются последовательно несколько тяжелых
> ХПшек внутри одной ХПшки на сервере, то стало быть если
> после каждой подтверждать транзакцию

то в этом случае нафиг не нужна та самая ХП-вызывалка со всей мутотней с временными записями
гораздо удобнее вызывать эти ХП из клиента по очереди и индицировать вызовы в окошке
кроме того, это можно сделать, не завершая транзакции после каждой ХП, если логика работы так требует
(уж не знаю, ввели ли возможность коммита внутри ХП в двойке, раньше не было)


 
PEAKTOP ©   (2008-12-17 17:56) [11]

> (уж не знаю, ввели ли возможность коммита внутри ХП в двойке, раньше не было)

COMMITа - пока нет, зато можно выполнить кусок кода внутри ХП, триггера или PSQL-блока в другой транзакции, и даже в другом подключении. Если этот блок кода выполнится успешно, то автономной транзакции наступит COMMIT, иначе - ROLLBACK

http://firebirdsql.su/doku.php?id=autonomous_transaction
http://firebirdsql.su/doku.php?id=execute_statement



Страницы: 1 вся ветка

Форум: "Базы";
Текущий архив: 2009.11.22;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.47 MB
Время: 0.138 c
9-1183742857
Dib@zol
2007-07-06 21:27
2009.11.22
MP3 -> XM


2-1255314945
Drowsy
2009-10-12 06:35
2009.11.22
Сообщения Windows.


2-1255065282
Сергей Кропивин
2009-10-09 09:14
2009.11.22
Как в RichEdit Выделить строку после строки идентификатора?


15-1253523102
vrem
2009-09-21 12:51
2009.11.22
Совпадения сегодня?


2-1254768235
Артем
2009-10-05 22:43
2009.11.22
pagecontrol,tabsheet;





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