Как отследить все события для сервиса firebird server с delphi xe10? Это мой код:
my := TIBControlService.Create(Self);
my.ServerName := '127.0.0.1/3050';
my.Protocol := TProtocol.TCP;
my.LoginPrompt := false;
my.TraceFlags := [tfQPrepare, tfQExecute, tfQFetch, tfError, tfStmt, tfConnect, tfTransact, tfBlob, tfService, tfMisc];
my.Params.Add( 'user_name=SYSDBA' );
my.Params.Add( 'password=masterkey' );
// -----
mh := MonitorHook;
mh.TraceFlags := my.TraceFlags;
Self.IBSQLMonitor1.TraceFlags := my.TraceFlags;
mh.RegisterMonitor(Self.IBSQLMonitor1);
Self.IBSQLMonitor1.Enabled := true;
Memo1.Lines.Add( Format('GetMonitorCount: %d',[mh.GetMonitorCount]) );
my.Attach;
Memo1.Lines.Add( Format('Active: %s',[System.StrUtils.IfThen(my.Active,'yes','no')]) );
и
procedure TForm1.IBSQLMonitor1SQL(EventText: string; EventTime: TDateTime);
begin
Memo1.Lines.Add(EventText);
end;
Результат:
GetMonitorCount: 1
Active: yes
[Application:]
:[Attach]
[Application:]
:[Query]
Но этот результат только из моего приложения. Когда я подключаюсь из другого процесса (например, sql), мое приложение не показывает это событие.