Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

FireBird Events


Fiend ©   (2003-06-20 15:01:00) 

Здрасте Уважаемые!

Такая вот ситуация:
выполняется длительная ХП, около часа выполняется.
Так вот хотелось пользователю событиями сообщать о прогрессе завершенности задания, но к сожалению стандартный механизм поверг в шок. События отправляются клиенту только после commit для этой процедуры. Пытался осуществить получение прогресса путём записи в таблицу значений и осуществления "грязного чтения". Нифига! такого делать нельзя.

Как быть? возникла мысль сделать механизм общения клиента с помощью Named pipes.
Но хотелось бы узнать у профи ФБ, может есть всё же возможность использовать стандартные механизмы, не изобретая велосипед?!


Fiend   (2003-06-20 16:02:00) [1]

Понял. Спасибо!!!


Johnmen   (2003-06-20 16:01:00) [2]

>Fiend © (20.06.03 15:52)

В процессе выполнения процедуры манипулировать значениями специально созданных генраторов. Тогда клиентский процесс будет видеть изменение из значений.
Подробности - как всегда на ibase.ru :)


Alexandr   (2003-06-20 15:56:00) [3]

генераторы вне контекста транзакции находятся.
А значит, меняй их в процедуре и тогда на клиенте сразу увидишь... прям как dirty Read


Fiend   (2003-06-20 15:52:00) [4]

То Johnmen:
Не спорю что законно в основном, но было бы просто замечательно управлять этим процессом, т.е. предоставить пирограммисту возможность управлять способом передачи сообщений. Но раз так нельзя то бес с ним.

Про генераторы не понял мысли. объясните


Alexandr   (2003-06-20 15:09:00) [5]

ну есть.


Johnmen   (2003-06-20 15:08:00) [6]

Привет !

>только после commit

Это законно...

>осуществления "грязного чтения".

Не поддерживается IB и клонами...

Единственное решение - с помощью генераторов.


Наверх

Титульная страница Поиск, карта сайта Написать письмо