Domino 9 und frühere Versionen > Entwicklung
Replizierprotokoll mittels script löschen.
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