![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
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 и клонами...
Единственное решение - с помощью генераторов.