AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken Wie verwendet man TIBSQLMonitor?
Thema durchsuchen
Ansicht
Themen-Optionen

Wie verwendet man TIBSQLMonitor?

Ein Thema von Tobinator · begonnen am 13. Aug 2011 · letzter Beitrag vom 13. Aug 2011
Antwort Antwort
Tobinator

Registriert seit: 18. Mai 2008
Ort: Cottbus
53 Beiträge
 
#1

Wie verwendet man TIBSQLMonitor?

  Alt 13. Aug 2011, 00:29
Datenbank: FB • Version: 2.5 • Zugriff über: IB-Componenten
Hi,

ich steh grade irgendwie auf dem Schlauch.
Ich möchte alle SQL-Abfragen in meiner Anwendung mitloggen. Dazu wollte ich TIBSQLMonitor verwenden.

Erste Frage: Ist das die richtige Komponente dafür?

Zweite Frage: Muss ich die Database irgendwo angeben? Ich hab kein Feld gefunden, wo die reingehört.

Letzte Frage: Was ist an meinem Code falsch:
Delphi-Quellcode:
procedure TFMain.IBSQLMonitor1SQL(EventText: string; EventTime: TDateTime);
begin
  Memo1.Lines.Add(Eventtext);
end;
In dem Memo tut sich absolut nichts.
Das event wird garnicht ausgelöst.
Alle TraceFlags sind auf True, Enabled ist auf True...

PS: Die Anwendung funktioniert soweit, ich will sie nur optimieren.

Danke schonmal und schönes Wochenende.
Tobias
  Mit Zitat antworten Zitat
Echtet

Registriert seit: 5. Jan 2004
Ort: Dortmund
21 Beiträge
 
Delphi XE3 Professional
 
#2

AW: Wie verwendet man TIBSQLMonitor?

  Alt 13. Aug 2011, 10:10
Hallo Tobinator,

Die Komponente ist richtig:

1. Im Ereignis OnSQL der Monitorkomponente hast Du ja bereits den Befehl Memo1... eingetragen
2. Die gewünschten TraceFlags auf True schalten und Enabled := True setzen
3. In der Kompo IBDatabase ebenfalls die entsprechenden TraceFlags setzen

Das reicht an Eingaben.

Viel Erfolg!

Echtet
Thimo Echtermann
  Mit Zitat antworten Zitat
Tobinator

Registriert seit: 18. Mai 2008
Ort: Cottbus
53 Beiträge
 
#3

AW: Wie verwendet man TIBSQLMonitor?

  Alt 13. Aug 2011, 11:58
Ah, cool danke, es funktioniert. Punkt 3 war der entscheidende.

Ein Problem gibt es aber immernoch:
Im Memo sind nur Leerzeilen, und im EventText steht zimlicher Müll:

Code:
#$D#0#$A#0'['#0'A'#0'n'#0'w'#0'e'#0'n'#0'd'#0'u'#0'n'#0'g'#0':'#0' '#0']'#0#$D#0#$A
Ich würde das mal als

Code:
[Anwendung: ]
interpretieren. Muss ich da noch irgendwas umstellen oder gibt es eine Funktion, die mir das übersetzt oder muss ich mir da selber was basteln?
Tobias
  Mit Zitat antworten Zitat
tsteinmaurer

Registriert seit: 8. Sep 2008
Ort: Linz, Österreich
530 Beiträge
 
#4

AW: Wie verwendet man TIBSQLMonitor?

  Alt 13. Aug 2011, 12:11
Hi!

Da du Firebird 2.5 einsetzt, kannst du das Ganze über die neue Trace API auch unabhängig von deiner Client-Anwendung mittracen.

Siehe mein Artikel hier: http://www.iblogmanager.com/download...rebird_2.5.pdf
Bzw. FB TraceManager als Front-End für die Trace API: http://www.upscene.com/go/?go=fbtm
  Mit Zitat antworten Zitat
Benutzerbild von haentschman
haentschman

Registriert seit: 24. Okt 2006
Ort: Seifhennersdorf / Sachsen
5.298 Beiträge
 
Delphi 12 Athens
 
#5

AW: Wie verwendet man TIBSQLMonitor?

  Alt 13. Aug 2011, 12:32
Hallo...
Zitat:
Im Memo sind nur Leerzeilen, und im EventText steht zimlicher Müll:
...kann ich nicht reproduzieren.

Folgende Schritte:
- SQLMonitor auf DataModule gepappt
- Host, Port eingestellt
- Active:= True
- Event OnSQL
Delphi-Quellcode:
procedure Tdm.ibcsqlmntr1SQL(Sender: TObject; Text: string; Flag: TDATraceFlag);
begin
  FMain.mmo1.Lines.Add(Text);
end;
- Anwendung starten

Ergebnis:
Delphi-Quellcode:
Connect: SYSDBA@Firma-Server
Start:
select ID_STORE, STORE_NAME from STORES order by STORE_NAME
select * from USERS where ID_STORE = :IDS order by USERNAME
:IDS(INTEGER)=2
select * from USERS where ID_STORE = :IDS or ID_STORE = 0 order by USERNAME
:IDS(INTEGER)=2
.
.
.
[Ironie]
...hast du vieleicht eine chinesische Raubkopie
[/Ironie]

Sorry... Du sprachst von IB Komponenten, ich von IBDAC. Wer lesen kann ist klar im Vorteil.

Nachtrag:
auf die schnelle IBSQLMonitor probiert. Da bekomme ich zumindest normale Zeichen.
Delphi-Quellcode:
[Anwendung: ]
ibdtbs1: [Verbindung]72 Your user name and password are not //und hier hört der Text wirklich auf

Geändert von haentschman (13. Aug 2011 um 12:45 Uhr)
  Mit Zitat antworten Zitat
Tobinator

Registriert seit: 18. Mai 2008
Ort: Cottbus
53 Beiträge
 
#6

AW: Wie verwendet man TIBSQLMonitor?

  Alt 13. Aug 2011, 13:09
hi,

@tsteinmaurer:
ich möchte es aber gerne im Client haben, weil ich damit noch was vor hab. Aber ich werde es mir trotzdem mal angucken, vllt. krige ich ja was zusammengebastelt.

@haentschman:
danke, das du es mal probiert hast. Welche delphi-version hast du? Ich hab D2009. Ich hab auch hier im Forum gelesen, der das selbe Problem hatte. Der hat es dann über eine eigene Funktion gelöst.

Dann wird mir wohl nichts weiter übrig bleiben als mir eine Übersetzerfunktion zu schreiben.

Danke nochmal.
Tobias
  Mit Zitat antworten Zitat
hoika

Registriert seit: 5. Jul 2006
Ort: Magdeburg
8.270 Beiträge
 
Delphi 10.4 Sydney
 
#7

AW: Wie verwendet man TIBSQLMonitor?

  Alt 13. Aug 2011, 13:50
Hallo,

viell. ein Unicode-Problem ?

Was passiert, wenn du von Hand aus String AnsiString machst ?
Oder halt den String umformst ?

procedure TFMain.IBSQLMonitor1SQL(EventText: ansistring; EventTime: TDateTime);
Heiko
Heiko
  Mit Zitat antworten Zitat
Tobinator

Registriert seit: 18. Mai 2008
Ort: Cottbus
53 Beiträge
 
#8

AW: Wie verwendet man TIBSQLMonitor?

  Alt 13. Aug 2011, 20:58
Hi,
danke, aber ich habs jetzt anders gelöst:

Delphi-Quellcode:
procedure TFMain.IBSQLMonitor1SQL(EventText: string; EventTime: TDateTime);

  function MyTranslate(Text:String):String;
    var i:integer;
  begin
    result:='';
    for i := 0 to length(Text) - 1 do
      if (ord(Text[i])>31) then
        result:=result+Text[i];
  end;

begin
  Memo1.Lines.Add(MyTranslate(Eventtext));
end;
Tobias
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 02:13 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz