Delphi-PRAXiS
Seite 1 von 2  1 2   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Prism Interbase Log-Files (https://www.delphipraxis.net/63463-interbase-log-files.html)

Werwurm 19. Feb 2006 11:30

Datenbank: Interbase • Version: 6.0 • Zugriff über: Interbase Komponenten

Interbase Log-Files
 
Hallo Delphi Freunde,

habe mal wieder ein kleines Problem. :wall:
Ich habe eine kleine Lagerverwaltung auf einer Interbase DB geschrieben.
Funktioniert soweit auch ganz gut.
Nun möchte ich das Prog gerne weiter geben. Das hat aber zur Folge, das ich eventuell "Support" leisten müsste.
Von daher meine Frage:
Gibt es eine Möglichkeit die Datenbankaktionen (Transaktionen, usw.) zu loggen?
Über die IBConsole finde ich zwar ein Log, hier werden aber keine Transaktionen verzeichnet.
Außerdem weiß ich nicht, wie ich dieses Log innerhalb des Progs auslesen kann. :gruebel:

Bietet Delphi eventuell die Möglichkeit auch interne Logs (für das Prog selber) zu generieren?

Ziel soll es sein, das ich im Prog selber ein Fehler melden kann. Dann wird eine Mail erzeugt. An der Mail soll dann automatisch das (die) Log(s) angehängt werden.
Leider bin ich weder hier noch bei Google fündig geworden.
Vielleicht ist aber so simpel, das keiner danach fragt? :oops:

Ich hoffe, dass mir jemand helfen kann.

Gruß
Marcus

mkinzler 19. Feb 2006 11:34

Re: Interbase Log-Files
 
Du kannst einfach für jede Tabelle in deiner Datenbank ein Trigger anlegen, welcher dann die Aktion in eine spezielle Logtabelle wegschreibt. Auf diese kannst du dann wie auf jede andere Tabelle von deinem Programm zugreifen.

Werwurm 19. Feb 2006 11:44

Re: Interbase Log-Files
 
Zitat:

Du kannst einfach für jede Tabelle in deiner Datenbank ein Trigger anlegen, welcher dann die Aktion in eine spezielle Logtabelle wegschreibt.
An den Ansatz hatte ich auch schon gedacht.
Dann bekomme ich aber nur die Insert und Update Aktionen, oder?
Außerdem hätte ich gerne die SQL-Statements, um auch eventuelle Programmfehler (Variablen im SQL-Statement) auszuschließen.

mkinzler 19. Feb 2006 11:53

Re: Interbase Log-Files
 
Zitat:

Zitat von Werwurm
An den Ansatz hatte ich auch schon gedacht.
Dann bekomme ich aber nur die Insert und Update Aktionen, oder?

ja, INSERT, UPDATE und DELETE Statements.
Zitat:

Außerdem hätte ich gerne die SQL-Statements, um auch eventuelle Programmfehler (Variablen im SQL-Statement) auszuschließen.
Darunter vestehst du die SELECT-Stataments oder?
Du könntest hierzu deine Abfragen in SP verfrachten, in denen du den Logmechanismus implemntierst.

Werwurm 19. Feb 2006 12:03

Re: Interbase Log-Files
 
Zitat:

Du könntest hierzu deine Abfragen in SP verfrachten, in denen du den Logmechanismus implemntierst.
Was verstehst Du unter SP :?:

mkinzler 19. Feb 2006 12:11

Re: Interbase Log-Files
 
Eine Stored Procedure

Werwurm 19. Feb 2006 13:00

Re: Interbase Log-Files
 
jetzt bin ich irgendwie völlig vernagelt.
Ich sammle gerade meine ersten Erfahrungen mit Interbase. Davor habe ich mit einfachen Paradox Tables gearbeitet. :oops:

In meiner DB sind schon einige Stored Procedures vorhanden.
Meinst Du ich sollte für jede SELECT Abfrage eine eigene SP schreiben und die Variablen einfach mit übergeben?
Und wie aktiviere ich den Logmechnismus? Wo werden die Daten hingeschrieben?
Fragen über Fragen.... :?

Andererseits überlege ich gerade die alle SQL-Staements(SELECT, UPDATE, INSERT und DELETE) vor dem abschicken zur DB in ein Text File zu schreiben.
Ist das evenbtuell sinvoller? :?:

mkinzler 19. Feb 2006 13:07

Re: Interbase Log-Files
 
Zitat:

In meiner DB sind schon einige Stored Procedures vorhanden.
Dann hast du ja schon Ahnung von SP's.
Zitat:

Meinst Du ich sollte für jede SELECT Abfrage eine eigene SP schreiben und die Variablen einfach mit übergeben?
Und wie aktiviere ich den Logmechnismus? Wo werden die Daten hingeschrieben?
Eine selectable SP kann clinetseitig wie eine "normale" SELECT-Anweisung angesprochen werden, oder wie in deinem Fall benötigt mit Paramtern.
In der SP schreibst du dann den Logadtensatz und führts dann die eigentliche Abfrage auf die Tabelle(n) aus und gibst das Ergebnis zurück.
Zitat:

Andererseits überlege ich gerade die alle SQL-Staements(SELECT, UPDATE, INSERT und DELETE) vor dem abschicken zur DB in ein Text File zu schreiben.
Ist das evenbtuell sinvoller?
Das bleibt dir überlassen. Ich würde den Weg über die Datenbank gehen.

Werwurm 19. Feb 2006 13:18

Re: Interbase Log-Files
 
Zitat:

In der SP schreibst du dann den Logadtensatz und führts dann die eigentliche Abfrage auf die Tabelle(n) aus und gibst das Ergebnis zurück.
Klingt eigentlich völlig logisch.
Ich werde das auf diesem Wege mal probieren.

Vielen Dank für Deine schnelle Hilfe! :thumb:

MrSpock 19. Feb 2006 13:33

Re: Interbase Log-Files
 
Hallo,

es gibt unter IBAdmin die Komponente IBLogService. Diese wird auch im Demoprogramm IBAdmin benutzt. Schau dir das einmal an. Ich denke, dass könnte eine Lösung für dich sein.


Alle Zeitangaben in WEZ +1. Es ist jetzt 10:56 Uhr.
Seite 1 von 2  1 2   

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