Domino 9 und frühere Versionen > Entwicklung

Replizierprotokoll mittels script löschen.

(1/3) > >>

rar:
Morgen,
ich habe zur Zeit ein blödes Problem.
Ich bin in Script und möchte die lokale Replik einer Db mit konsistenter Acl (Autorenrecht) replizieren. Es funktioniert aber nicht richtig. Nur wenn man vorher das Cutoffdate und das Replizierprotokoll löscht gehts. Das Cutoffdate hab ich hinbekommen, aber bei
(Set rep = dbLokal.ReplicationInfo)
Call rep.ClearHistory()
kommt die Fehlermeldung
"Sie sind zur Durchführung dieser Operation nicht berechtigt!"

Warum ist das so? Händisch läßt sich das Protokoll nämlich löschen. Das Recht hab ich also.

lg
-daniel

Marinero Atlántico:
Zu dieser "klassischen" Meldung kann ich auch nur die klassische Nachfrage stellen, ob das vielleicht ein serverseitiger Agent ist und der Unterzeichner eben zu wenig Rechte hat.

Ausserdem würde ich per Error-Handling genau die Zeile im Skript ermitteln, wo dieser Fehler auftritt.
Ob übersieht man da Sachen. Hatte letztens mal einen Fall, wo das deshalb kam, weil der Unterzeichner vom Agenten zu wenig Rechte auf eine Log-Datenbank hatte und zwar auf Grund von Gruppeneditierungen seitens der Systemadministration. Sowas passiert einfach, ich hätte aber dies ohne vernünftiges Errorhandling vermutlich niemals herausgefunden (oder wesentlich später).


Gruß Axel

rar:
Es ist kein Agent. Der Code ist in einem Hotspot in einer Seite und
die Fehlermeldung kommt an der Stelle
Call rep.ClearHistory()
Genauer kann ich da nicht rein schauen.. :-\ Ich hab auch keine Ahnung was Notes da im Hintergrund macht. (Wegen Rechten auf anderen DBs und so). Wo muß ich da nachschauen?

rar:
Falls es von Interesse ist...
Wenn man Manager ist funktioniert es. >Manager nicht. Obwohl es sollte. --> Feature

Mit dem Code geht es aber trotzdem.

Declare Function NSFDbOpen Lib APIModule Alias "NSFDbOpen" ( Byval P As String, H As Long) As Integer
Declare Function NSFDbClose Lib APIModule Alias "NSFDbClose" ( Byval H As Long) As Integer
Declare Function NSFDbClearReplHistory Lib "nnotes.dll" Alias "NSFDbClearReplHistory" (Byval hdb As Long, flags As Integer) As Integer


Sub ClearReplHistory( server As String, filename As String )
   Dim hdb As Long
   Dim rc As Integer
   If Server = "" Then
      rc = NSFDbOpen(FileName, hDb)
   Else
      rc = NSFDbOpen( Server & "!!" & FileName, hDb)
   End If
   rc = NSFDbClearReplHistory( hDb ,0 )
   rc = NSFDbClose(hDb)
End Sub

Onkel ToM:
Ich bekomme lokal nach Ausführung des obigen Codes dann aber ein "Eintrag im Index nicht gefunden" auf der Replikatorseite und er repliziert nicht mehr, genauso als ob ich die entsprechende LS-Funktion bemühe.

(Client 5.0.12)

Gibts eine Lösung?

Navigation

[0] Themen-Index

[#] Nächste Seite

Zur normalen Ansicht wechseln