Announcement

Collapse
No announcement yet.

Welcher Benutzer hat den Datensatz geaendert?

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • Welcher Benutzer hat den Datensatz geaendert?

    Hallo,

    kann mir jemand einen Tip geben zu folgendem Problem:

    Ich moechte wissen welcher Benutzer hat eine Datensatz angelegt bzw. geaendert.

    Oder besser welcher Benutzer hat als letztes einen Datensatz veraendert.

    ICh weiss das die Datenbank diese Information abspeichert. Aber wie komme ich an diese Information.

    Gruss Ligatschow

  • #2
    Die Infos werden auf jedenfall im Transaktionslog stehen. Aber normalerweise kommst du daran nicht per "normalen" Programmieren auf Clientseite.

    Comment


    • #3
      ICh weiss das die Datenbank diese Information abspeichert. Aber wie komme ich an diese Information.
      Echt? ich kenn keine DB die das standardmäßig macht. Man kann je nach DBMS entsprechendes Logging einschalten oder per Trigger selbst programmieren aber im allgemeinen wüsste ich nicht, dass das geloggt wird. Hast Du da mehr Info dazu? Würd mich nur mal interessieren.

      Dim
      Zuletzt editiert von dimitri; 27.02.2009, 17:01.
      Zitat Tom Kyte:
      I have a simple philosophy when it comes to the Oracle Database: you can treat it as a black box and just stick data into it, or you can understand how it works and exploit it as a powerful computing environment.

      Comment


      • #4
        Die Infos werden auf jedenfall im Transaktionslog stehen. Aber normalerweise kommst du daran nicht per "normalen" Programmieren auf Clientseite.
        Leider arbeitet FireBird nicht mit einem Transaktionslog

        Comment


        • #5
          ICh weiss das die Datenbank diese Information abspeichert. Aber wie komme ich an diese Information.
          Das würde mich jetzt auch interessieren. Welche DB speichert das so ab?
          Christian

          Comment


          • #6
            es gibt verschiedene Wege, oft wird eine feld in der Tabelle angelegt und per Update/Insert Trigger mit dem current_user gefüllt. Das zeigt dir aber immer nur den letzten an. Alternativ mach dir eine Logtabelle und schreib aus dem trigger den user per insert in die Logtabelle. Ggf. kannst du auch noch weitere infos ablegen (z.B. den Inhalt der neuen und alten Felder).

            Für Faule: in IBExpert einfach mit dem Logmanager die Tabelle öffnen und prepare table for logging einfach die Trigger anlegen lassen: http://ibexpert.net/ibe/index.php?n=Doc.LogManager

            Für Fleißige: einfach mal das Script anschauen (ist bei IBExpert als demo mit dabei), erstellt ein komplettes Transaktionslog http://ibexpert.net/ibe/index.php?n=...EDemoDB#DB2SQL
            kannst du dann ja ggf in deine DB mit einbauen

            Gruß
            Holger
            www.ibexpert.com

            Comment


            • #7
              Hallo,

              IB LogManager (http://www.upscene.com/products.audit.iblm_main.php) hat sich genau auf dieses Thema spezialisiert und hat ein größeres Feature-Set als der eingebaute LogManager in IBExpert.

              Thomas
              Thomas Steinmaurer

              Firebird Foundation Committee Member
              Upscene Productions - Database Tools for Developers
              Mein Blog

              Comment


              • #8
                Originally posted by Markus Kinzler View Post
                Leider arbeitet FireBird nicht mit einem Transaktionslog
                Wusste ich nicht das hier FB "anders" ist.

                Comment


                • #9
                  Zitat: Zitat von Markus Kinzler Beitrag anzeigen Leider arbeitet FireBird nicht mit einem Transaktionslog Wusste ich nicht das hier FB "anders" ist.
                  FireBird arbeitet mit Record Versionierung

                  Je nach verwendeten Zugriffskomponenten/-bibliotheken gibt es auch hier Monitoring/Loggingfunktionalitäten

                  Comment


                  • #10
                    die Kompententen können das aber nur clientgestützt protokollieren (eben nur das was diese Komponente auch an SQL bekommen haben). Wenn jemand nun mit isql, ibexpert oder anderen tools in der Datenbank was ändern sollte, hilft das nicht weiter. Daher sind Trigger dafür besser.

                    Gruß
                    Holger
                    www.ibexpert.com

                    Comment

                    Working...
                    X