Das Notes Forum

Domino 9 und frühere Versionen => Entwicklung => Thema gestartet von: rar am 28.09.04 - 08:28:03

Titel: Replizierprotokoll mittels script löschen.
Beitrag von: rar am 28.09.04 - 08:28:03
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
Titel: Re: Replizierprotokoll mittels script löschen.
Beitrag von: Marinero Atlántico am 28.09.04 - 09:51:29
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

Titel: Re: Replizierprotokoll mittels script löschen.
Beitrag von: rar am 28.09.04 - 10:10:59
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?
Titel: Re: Replizierprotokoll mittels script löschen.
Beitrag von: rar am 30.09.04 - 08:54:30
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

Titel: Re: Replizierprotokoll mittels script löschen.
Beitrag von: Onkel ToM am 03.02.05 - 15:41:37
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?
Titel: Re: Replizierprotokoll mittels script löschen.
Beitrag von: Semeaphoros am 03.02.05 - 15:48:48
Falls es von Interesse ist...
>Manager nicht.

Grösser als Manager? Wie geht denn das ?    ::)
Titel: Re: Replizierprotokoll mittels script löschen.
Beitrag von: Onkel ToM am 03.02.05 - 15:49:39
Aufsichtsrat  ;)

Kandesbunzler  :D :D
Titel: Re: Replizierprotokoll mittels script löschen.
Beitrag von: rar am 03.02.05 - 16:12:50
Da macht man vor fast einem halben Jahr ein falsches Zeichen, und grad heute wird es einem auf die Nase gerieben... :)

Wegen der Lösung des Problems kann ich dir leider nicht helfen.
Ich hab die APISachen irgendwo gefunden. Bei mir hats damals funktioniert... Sorry...
Titel: Re: Replizierprotokoll mittels script löschen.
Beitrag von: Semeaphoros am 03.02.05 - 16:26:05
Na ja, es war einfach zu verlockend, als dass man es unerwähnt hätte lassen können ......... dafür hast Du ja heute in einem anderen Thread ein schönes Geburtstagsgeschenk bekommen ....  ;D
Titel: Re: Replizierprotokoll mittels script löschen.
Beitrag von: Untitled am 03.02.06 - 08:49:44
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.

Sorry das ich den alten Fred nochmals hole. Habe genau das selber probelm. (Client 5.0.13)

IBM behauptet, sie haben das Problem in "SPR# RADS49BJNB" ab 5.0.4 gefixt. Ich merk aber nichts davon  :o

Im ND6 funktioniert genau die selbe Funktion einwandfrei...

Hat jemand nähere Informationen?? Wäre sehr froh!

Grüsse
Untitled

Crossposting auf http://www-10.lotus.com/ldd/46dom.nsf/DateAllThreadedweb/c7ba898707edd5688525710a002c4cad?OpenDocument
Titel: Re: Replizierprotokoll mittels script löschen.
Beitrag von: Untitled am 03.02.06 - 09:17:27
Stelle gerade fest, wenn ich ReplicationInfo.ClearHistory benutze, entsteht genau das selbe Problem  :-\

EDIT: Problem hier gelöst: http://atnotes.de/index.php?topic=28610.msg180893#msg180893

Grüsse
Untitled