Autor Thema: Prüfen ob bei einer Datenbank das Häckchen in der Replikationsseite gesetzt ist  (Gelesen 1472 mal)

Offline Knarfbrain

  • Frischling
  • *
  • Beiträge: 17
  • Geschlecht: Männlich
Hallo Zusammen,

ein langer Betreff mit einem wichtigen Hintergrund.
Hat jemand eine Idee, wie man prüfen kann, ob das Häckchen einer Datenbank im Replikator gesetzt ist.
Der Hintergrund: Wir entwickeln ein Dienstleistungscontrolling, was aus mehreren Datebanken besteht. Vor kurzer Zeit kam ein User auf die Idee, das Häckchen der wichtigsten Datenbank zu entfernen, so das keine Daten an den Server bzw. an den Client gesendet wurden. Das wurde zum Glück noch in letzter Sekunde bemerkt und behoben.
Natürlich müssen wir sicherstellen, dass alle Datenbanken repliziert werden.
Ich dachte da an einen LS-Code beim QueryOpen der Datenbanken, welcher prüft ob die Datenbank in letzter Zeit repliziert wurde.
Es gibt eine Menge Eigenschaften einer Datenbank wie z.B. LastModified aber ich habe nichts gefunden wie beispielsweise "LastReplica".
In der NotesReplication Class können doch nur Eigenschaften über allgemeine Replikationseigenschaften einer Datenbank ausgelesen werden, oder?

Ich hoffe ich habe mich verständlich ausgedrückt, so das ihr mir helfen könnt. ::)

Gruß

Frank

Offline koehlerbv

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 20.460
  • Geschlecht: Männlich
Für Dein Anliegen müsstest Du ganz tief in die API-Trickkiste greifen - und stehst auch dann vor dem Problem: Wo lese ich den gegenwärtigen Status der Replikation aus?

Ein Vorschlag (basierend auf meinen Erfahrungen bzw. meinem Vorgehen):

Datenbank X muss repliziert werden (das muss nicht unbedingt die DB sein, die gerade offen ist oder geöffnet wird). In dieser Datenbank läuft ein Agent (meist ist das ja sowieso so  ;)). Dieser Agent schreibt "nebenbei" in ein Item eines Setup-Dokumentes (auch sowas wird diese wichtige DB ja haben) beim Abschluss das aktuelle Datum.

In der lokalen Replik (oder der betreffenden DB) wird nun bei bestimmten Aktionen (DatabaseScript/PostOpen, eine wichtige Aktion oder ein anderes Event) genau dieses Datum überprüft. Wenn dieses lt. einem Vorgabewert (Setup-Dokument! Beispiel: Nicht älter als 24 Stunden) zu alt ist, wird
- gemeckert
- automatisch die Replikation angestossen (NotesDatabase.Replicate)
- oder eine andere sinnige Aktion ausgeführt.

Ein tiefer Griff in die Trickkiste ist so nicht erforderlich - es ist letztlich (ausser der Idee  ;)) pures Handwerk.

HTH,
Bernhard

 

Impressum Atnotes.de  -  Powered by Syslords Solutions  -  Datenschutz