Das Notes Forum

Domino 9 und frühere Versionen => ND8: Entwicklung => Thema gestartet von: skywook am 31.01.14 - 11:08:17

Titel: Index löschen
Beitrag von: skywook am 31.01.14 - 11:08:17
Hallo,

wie kann ich den Index einer DB auf dem Server löschen?
RemoveFTIndex() funktioniert nur auf lokale DBs.
Habe im Forum gelesen, dass man das über einen Agenten mit runOnServer durchführen muss.

Den Agenten rufe ich über einen Button (in einem Dokument) mit runOnServer auf.


Ausschnitt aus dem Agenten:
.......
Set dbIndex = New NotesDatabase("","")   
Call dbIndex.Open(srv, pfad)
If Not dbIndex.IsOpen Then
If dbIndex.IsFTIndexed Then
      Call dbIndex.RemoveFTIndex()
      Messagebox "Index gelöscht"
   Else
      Messagebox "Kein Index vorhanden"
   End If
      
End If
.......

Aber wie muss der Agent aufgebaut/eingestellt sein?
Titel: Re: Index löschen
Beitrag von: Peter Klett am 31.01.14 - 11:56:40
Der Agent läuft auf dem Server und darf daher keine UI-Funktionen, wie Msgbox enthalten.

Du erstellst im Script des Buttons ein Dokument, in das Du den Dateinamen der Datenbank schreibst, und dieses Dokument speicherst.

Beim RunOnServer gibst Du die NoteID dieses Dokuments mit, dieses Dokument öffnet der Agent dann über NotesAgent.ParameterDocID, und liest daraus die benötigten Angaben.

Das Parameterdokument kannst Du danach entweder löschen (Löschrecht vorausgesetzt), oder lässt es zur nächsten Verwendung stehen.