[NEWSboard IBMi Forum]

Hybrid View

  1. #1
    Registriert seit
    May 2007
    Beiträge
    295

    Trigger *AFTER *READ

    Hallo und schönen Nachmittag,

    ich hab grad ein wenig Zeit und wollte mal mit meiner alten Frage weitermachen...

    Da gibts ja den Trigger *AFTER *READ und genau da würd mich interessieren ob man über den Datenbankmäßig steuern kann wer welchen Datensatz anschaun darf.
    Wenn das so ist dann würd mich brennend interessieren wie ich denn über den Trigger dem lesenden Programm/SQL/etc mitteilen kann ob der darf oder eben nicht ...

    Ist nicht tragisch aber vieleicht hat sich schon jemand mal damit beschäftigt oder hat sogar ein paar codeschnippsel dafür ...

    Danke schonmal!
    Greets
    Christian
    Anwendungsentwickler und ein bissal Systemoperator
    https://github.com/prsbrc
    LinkedIn

  2. #2
    Registriert seit
    Feb 2001
    Beiträge
    20.696
    Ein After-Read-Trigger kann theoretisch den Inhalt des übergebenen Puffers mit Defaults überschreiben und somit bestimmte Feldinhalte verbergen.
    Bedenke aber, dass dann beim Schreiben (Update) auch die veränderten Inhalte dann geschrieben würden, da das Programm ja nichts von der Veränderung weiß.
    Du kannst damit ganz schnell ganz viele Daten zerhauen.
    Wenn ein Datensatz gar nicht erst gelesen werden darf, so kannst du das nur mit einer ESC-Nachricht (Message-API) verhindern.
    Das lesende Programm bekommt dann eine Ausnahme gemeldet, so dass dieses zum Programmabbruch führt (Ausnahme mit Monitor abfangen).

    Auch dies führt hier nicht zum gewünschten Effekt.
    Ein READE würde dann nämlich immer auf den selben Satz kommen.

    Eine Dateninhaltsberechtigung kannst do so leider nicht lösen. Dies musst du per Design in der Anwendung klären.

    Ein Read-Trigger macht nur dann Sinn, wenn bestimmte Feldinhalte übersetzt werden müssen, da sich z.B. Defaults o.ä. geändert haben.
    Andererseits würde ich das dann eher mit einem SQL-Update einmalig durchführen.

    Wofür man eine Read-Trigger wirklich braucht?
    Ggf. um zu protokollieren, welche daten von wem gelesen wurden. Ansonsten wüsste ich nicht, wozu das wirklich gut ist.
    Aber vielleicht weiß Birgitta da mehr .
    Dienstleistungen? Die gibt es hier: http://www.fuerchau.de
    Das Excel-AddIn: https://www.ftsolutions.de/index.php/downloads
    BI? Da war doch noch was: http://www.ftsolutions.de

  3. #3
    Registriert seit
    Mar 2002
    Beiträge
    5.366
    ... ein AFTER Trigger kann eine Aktion nicht verhindern, da hat die bereits stattgefunden!
    Zugriff auf Satzebene kann man einfacher und besser im View Layer erledigen (special Register CURRENT_USER kann man in Views zum wegjoinen von Sätzen verwenden).
    IMHO sind Read Trigger ein Feature ohne Nutzen!

    D*B
    AS400 Freeware
    http://www.bender-dv.de
    Mit embedded SQL in RPG auf Datenbanken von ADABAS bis XBASE zugreifen
    http://sourceforge.net/projects/appserver4rpg/

  4. #4
    Registriert seit
    May 2007
    Beiträge
    295
    Hallo und schönen guten Morgen,

    vielen Dank für die aufschlussreichen Antworten... wenn das so ist dann verstehe ich wirklich nicht wofür der gut ist (außer halt protokollieren wer was gelesen hat) ... aber okay - man muss ja nicht alles verstehen

    Nochmals Danke für die Antworten!
    Greets
    Christian
    Anwendungsentwickler und ein bissal Systemoperator
    https://github.com/prsbrc
    LinkedIn

  5. #5
    Registriert seit
    Aug 2003
    Beiträge
    1.508
    Hallo,
    ich glaub du kannst im Trigger auch z.B. einen SQL-Error zurückliefern. Dadurch kann das lesen abgebrochen werden.

    Habs jedoch nie ausprobiert obs das wirklich so funktioniert, weil ich sowas zum Glück noch nie gebraucht habe

    lg Andreas

Similar Threads

  1. SQL Trigger
    By Jenne in forum NEWSboard Programmierung
    Antworten: 0
    Letzter Beitrag: 19-01-07, 09:24
  2. SQL Trigger
    By bigmoon in forum IBM i Hauptforum
    Antworten: 4
    Letzter Beitrag: 14-09-06, 18:26
  3. create view oder constraint oder trigger oder ... ?
    By antvik in forum NEWSboard Programmierung
    Antworten: 4
    Letzter Beitrag: 02-08-06, 18:04
  4. Trigger
    By peter.kinne in forum IBM i Hauptforum
    Antworten: 4
    Letzter Beitrag: 20-04-06, 10:21
  5. Trigger / ILE RPG
    By Frank Pusch in forum IBM i Hauptforum
    Antworten: 3
    Letzter Beitrag: 17-05-01, 09:34

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • You may not post attachments
  • You may not edit your posts
  •