ASAPLTDA
20-03-2018, 16:15:01
Hola, en prueba de capturar los eventos generados en firebird Utilice FDEventAlerter para registrar los eventos, pero la gran sorpresa en que no registro todos los eventos generados en firebird 2.5 delphi version 10.1 update 2 Berlin solo captura 90% o menos de los eventos realizados en forma masiva.
Efectue otra prueba con los componentes devart UniAlerter y este si registro todos los eventos
procedure TForm1.UniAlerter1Event(Sender: TDAAlerter; const EventName,
Message: string);
begin
inc(NOMENSAJES); // contar el numero de mensajes recibidos
ClientDataSet1.Append ;
ClientDataSet1.FieldByName('TEXTO').AsString := DateTimeToStr(now);
ClientDataSet1.Post;
end;
// poblar tabla
create or alter procedure AAPRUEBATABLAPROCEDURE
as
declare variable W_I integer = 0;
begin
WHILE ( W_I < 50 ) DO BEGIN
in autonomous transaction do BEGIN
INSERT INTO AAPRUEBATABLA ( COMENTARIO) VALUES(:W_I);
END
W_I = W_I + 1;
END
suspend;
end
// generar evento
CREATE OR ALTER trigger aapruebatabla_ai0 for aapruebatabla
active after insert position 0
AS
begin
POST_EVENT 'PRUEBA';
end
Efectue otra prueba con los componentes devart UniAlerter y este si registro todos los eventos
procedure TForm1.UniAlerter1Event(Sender: TDAAlerter; const EventName,
Message: string);
begin
inc(NOMENSAJES); // contar el numero de mensajes recibidos
ClientDataSet1.Append ;
ClientDataSet1.FieldByName('TEXTO').AsString := DateTimeToStr(now);
ClientDataSet1.Post;
end;
// poblar tabla
create or alter procedure AAPRUEBATABLAPROCEDURE
as
declare variable W_I integer = 0;
begin
WHILE ( W_I < 50 ) DO BEGIN
in autonomous transaction do BEGIN
INSERT INTO AAPRUEBATABLA ( COMENTARIO) VALUES(:W_I);
END
W_I = W_I + 1;
END
suspend;
end
// generar evento
CREATE OR ALTER trigger aapruebatabla_ai0 for aapruebatabla
active after insert position 0
AS
begin
POST_EVENT 'PRUEBA';
end