Вниз
Скачать: CL | DM;

FireBird Events   Найти похожие ветки 

 
Fiend ©   (2003-06-20 15:01) [0]

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

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

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


 
Johnmen ©   (2003-06-20 15:08) [1]

Привет !

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

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

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

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

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


 
Alexandr ©   (2003-06-20 15:09) [2]

ну есть.


 
Fiend ©   (2003-06-20 15:52) [3]

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

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


 
Alexandr ©   (2003-06-20 15:56) [4]

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


 
Johnmen ©   (2003-06-20 16:01) [5]

>Fiend © (20.06.03 15:52)

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


 
Fiend ©   (2003-06-20 16:02) [6]

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



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

Скачать: CL | DM;



Память: 0.46 MB
Время: 0.016 c
1-44693
Marco
2003-06-29 19:14
2003.07.14
Как запустить приложение из выполняющейся программы


7-44924
DJ_Sedoy
2003-05-04 20:15
2003.07.14
Отловить лок компьютера Win2k/XP


4-44947
Алексей К
2003-05-13 21:40
2003.07.14
Вытащить иконку из приложения


8-44767
JC
2003-03-22 01:38
2003.07.14
Engine


3-44580
Fiend
2003-06-20 15:01
2003.07.14
FireBird Events




   Наверх