[NEWSboard IBMi Forum]
  1. #1
    Registriert seit
    Jun 2001
    Beiträge
    119

    Thumbs up Zwei Tabellen synchron halten?

    Hallo iSeries-Freunde!

    Mit welchen Befehlen oder Methoden kann ich denn zwei identische Tabellen synchron halten?

    Die beiden Tabellen haben die gleichen Felder und sollen immer die gleichen Inhalte haben (annähernd zeitgleiche Synchronisation). Man könnte dafür drei Trigger (insert, delete, update) nehmen.
    Was geht sonst noch?

    Vielen Dank für Hinweise.

    Grüße
    rebe

  2. #2
    cbe is offline [professional_User]
    Registriert seit
    May 2005
    Beiträge
    392
    sag doch mal kurz, warum Du 2 Tabellen brauchst?
    (Die einfachste + sicherste Art eine Datei mit identischen Inhalt zu haben ist eine LF ;-)

  3. #3
    Registriert seit
    Feb 2001
    Beiträge
    20.696
    Da stimme ich cbe zu, die LF kann auch in einer anderen LIB mit Nurlese-Berechtigung stehen.

    Ansonten gehts am schnellsten halt nur mit Triggern.
    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

  4. #4
    Registriert seit
    Jun 2001
    Beiträge
    119
    Hallo,

    ja vielleicht hätte ich meine Anforderung komplett darlegen sollen.

    Ich habe Dateien in einer Bibliothek A, auf die Public *exclude Rechte vergeben sind. Wir möchten die Rechte an diesen Dateien nicht aufweichen für die Anforderung, damit wir nicht den Überblick verlieren, wer auf die Dateien in dieser besonderen Bibliothek zugreifen kann.

    Deshalb Idee, gleiche Datei in anderen Bibliothek mit *use Rechten. Log. Datei funktioniert nicht, wegen PUBLIC *exclude an der Bibliothek A und den physischen Dateien. Oder sehe ich das falsch?

    rebe

  5. #5
    Registriert seit
    Mar 2002
    Beiträge
    5.365
    ...wenn die Anforderung die Anforderung ist und nicht eine spezielle Lösung, ist diese Berechtigungslage leicht abzubilden (BTW: das enstspricht der Normalität in der Welt von SQL).
    Einfach eine create view (kann auch in anderer Lib sein) und dann grant select to public auf diese View.

    D*B

    Zitat Zitat von rebe Beitrag anzeigen
    Hallo,

    ja vielleicht hätte ich meine Anforderung komplett darlegen sollen.

    Ich habe Dateien in einer Bibliothek A, auf die Public *exclude Rechte vergeben sind. Wir möchten die Rechte an diesen Dateien nicht aufweichen für die Anforderung, damit wir nicht den Überblick verlieren, wer auf die Dateien in dieser besonderen Bibliothek zugreifen kann.

    Deshalb Idee, gleiche Datei in anderen Bibliothek mit *use Rechten. Log. Datei funktioniert nicht, wegen PUBLIC *exclude an der Bibliothek A und den physischen Dateien. Oder sehe ich das falsch?

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

  6. #6
    Registriert seit
    Feb 2001
    Beiträge
    20.696
    Das geht auch per DDS-LF.
    Einfach eine LF in die andere Lib erstellen.
    Wichtig ist nur, dass die Original-LIB auf *PUBLIC *EXCLUDE steht, die einzelnen PF's müssen mit *PUBLIC *READ autorisiert sein.
    Datenrechte funktionieren nur auf einer PF. Selbst wenn ich eine LF (View) auf *USE stelle benötige ich Leserechte auf der PF.
    Durch die Sperre der LIB komme ich dann aber trotzdem nicht auf die einzelnen Objekte der Lib.

    Alternativ gibts halt Schutzsoftware wie PCSACC/400.
    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

  7. #7
    Registriert seit
    Mar 2002
    Beiträge
    5.365
    ... ich hatte hier extra SQL erwähnt, damit man es nicht falsch macht!
    - die Berechtigung an der Bibliothek ist Banane
    - an der Tabelle PF wird nur die Datenberechtigung eingetragen, also hier nur read
    - alles andere ist für public verboten
    - an der View braucht man die operational Berechtigung
    - an der View braucht man die Datenberechtigung read

    - CREATE TABLE mit naming *SQL macht den EXCLUDE
    - der SQL grant Befehl für die View macht den Rest automatisch

    PCSACC bringt hier wohl nix, bei RLA zieht kein exit.

    D*B


    Zitat Zitat von Fuerchau Beitrag anzeigen
    Das geht auch per DDS-LF.
    Einfach eine LF in die andere Lib erstellen.
    Wichtig ist nur, dass die Original-LIB auf *PUBLIC *EXCLUDE steht, die einzelnen PF's müssen mit *PUBLIC *READ autorisiert sein.
    Datenrechte funktionieren nur auf einer PF. Selbst wenn ich eine LF (View) auf *USE stelle benötige ich Leserechte auf der PF.
    Durch die Sperre der LIB komme ich dann aber trotzdem nicht auf die einzelnen Objekte der Lib.

    Alternativ gibts halt Schutzsoftware wie PCSACC/400.
    AS400 Freeware
    http://www.bender-dv.de
    Mit embedded SQL in RPG auf Datenbanken von ADABAS bis XBASE zugreifen
    http://sourceforge.net/projects/appserver4rpg/

  8. #8
    Registriert seit
    Feb 2001
    Beiträge
    20.696
    Das würde ich nicht dem H.Busch mitteilen, denn seit V5R4 gibts auch Exits für DB-Open (RLA), die von PCSACC nun auch überwacht werden können.

    Die Berechtigung an der LIB kann durchaus mit Public-Exclude Sinn machen, um eben nicht an andere PF's/LF's o.ä. doch noch dranzukommen.
    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

  9. #9
    Registriert seit
    Mar 2002
    Beiträge
    5.365
    ... das mit den Exits ist doch sowieso an der falschen Stelle den Hals zugewürgt (ich habe mir jetzt nicht die Mühe gemacht, da noch nach CPYF und ähnlichen Lücken zu suchen), da wird zu 98 % eine unsachgemäße Objekt Security an der falschen Stelle nachgebessert...
    Casus knaxus einer korrekten Installation ist, das an der PF keine Operational Berechtigung für public vergeben wird!

    D*B

    Zitat Zitat von Fuerchau Beitrag anzeigen
    Das würde ich nicht dem H.Busch mitteilen, denn seit V5R4 gibts auch Exits für DB-Open (RLA), die von PCSACC nun auch überwacht werden können.

    Die Berechtigung an der LIB kann durchaus mit Public-Exclude Sinn machen, um eben nicht an andere PF's/LF's o.ä. doch noch dranzukommen.
    AS400 Freeware
    http://www.bender-dv.de
    Mit embedded SQL in RPG auf Datenbanken von ADABAS bis XBASE zugreifen
    http://sourceforge.net/projects/appserver4rpg/

  10. #10
    Registriert seit
    Jun 2001
    Beiträge
    119
    Hallo,

    vielen Dank für eure Beiträge.

    Da wir die Berechtigung an dieser bestimmten Bibliothek absolut nicht aufweichen möchten, damit wir irgendwann die Leseberechtigung für Daten an der physischen Datei (nicht am Objekt) nicht übersehen, werde ich zu den Triggern greifen.

    Grüße
    rebe

  11. #11
    Registriert seit
    Mar 2002
    Beiträge
    5.365
    ... also wird hier wieder einmal, wie so oft, eine falsche Implementierung zur Anforderung gemacht und anschließend an der falschen Stelle versucht zu heilen...

    D*B

    Zitat Zitat von rebe Beitrag anzeigen
    Hallo,

    vielen Dank für eure Beiträge.

    Da wir die Berechtigung an dieser bestimmten Bibliothek absolut nicht aufweichen möchten, damit wir irgendwann die Leseberechtigung für Daten an der physischen Datei (nicht am Objekt) nicht übersehen, werde ich zu den Triggern greifen.

    Grüße
    rebe
    AS400 Freeware
    http://www.bender-dv.de
    Mit embedded SQL in RPG auf Datenbanken von ADABAS bis XBASE zugreifen
    http://sourceforge.net/projects/appserver4rpg/

  12. #12
    Registriert seit
    Feb 2001
    Beiträge
    20.696
    Mit aufweichen hat das wirklich nichts zu tun.
    Von vornherein den schlechtesten Ansatz zu wählen halte ich auch für bedenklich.
    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

Similar Threads

  1. Verknüpfen von Tabellen mit SQL
    By e_sichert in forum IBM i Hauptforum
    Antworten: 21
    Letzter Beitrag: 28-11-06, 19:43
  2. Journaling für alle Tabellen eines Schemas einschalten
    By remo2010 in forum IBM i Hauptforum
    Antworten: 7
    Letzter Beitrag: 24-11-06, 15:24
  3. Einzelne DB Tabellen sichern
    By CAL in forum IBM i Hauptforum
    Antworten: 4
    Letzter Beitrag: 23-06-06, 09:03
  4. MS Access Zugriff via ODBC auf iSeries Tabellen
    By Rico in forum IBM i Hauptforum
    Antworten: 2
    Letzter Beitrag: 21-03-05, 09:43
  5. Tabellen
    By DEVJO in forum IBM i Hauptforum
    Antworten: 4
    Letzter Beitrag: 12-05-04, 19:37

Berechtigungen

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