Domino 9 und frühere Versionen > Entwicklung

DB Komprimierung

<< < (2/3) > >>

ata:
... ich würde das mit dem Programmdokument machen, es ist zeitlich steuerbar...

ata

koehlerbv:
Auch wenn ich entsetzt bin, daß jeden Tag eine fünfstellige Dokumentenanzahl gelöscht wird, um sie dann neu 'reinzuziehen (brauchst Du Tipps, wie man das verhindern kann oder Argumente, warum man ggf. dann für solche Aktionen nicht Notes nehmen sollte?):
Folge ata's Tip und mach' ein Programmdokument für den betreffenden Server:
Programmname = compact
Befehlszeile = pfad\dateiname -L
Server = entsprechend angeben

Zeitplan: Im sicheren Abstand, nachdem Euer Kamikaze-Agent gelaufen ist (Log auswerten)

HTH,
Bernhard

ata:
... und verkürze in der Datenbank die Verweildauer für gelöschte Dokumente, deaktiviere "Ungelesene Dokumente markieren"

... und ich würde über Bernhards Anregung nachdenken, ob es nicht besser wäre nur upzudaten, wenn es was gibt, und ansonsten das Dokument zu belassen wie es ist, oder das System zu wechseln, ...

ata

FRANKI:
Danke für Eure Anregungen,

leider liegt der Sch.... mit dem löschen und neu Aufbauen definitiv nicht in meiner Hand.

Gruß
FRANKI

eknori:
...  NotesDatabase.Compact funktioniert ja nur lokal.
Aber du kannst ja Konsolenkommandos über Script absetzen. Hier der notwendige Code

Declare Function NSFRemoteConsole Lib "NNotes.dll" Alias "NSFRemoteConsole" (Byval Server As String, Byval cmd As String, ret As Long) As Long
Declare Function OSLockObject Lib "NNotes.dll" Alias "OSLockObject" (Byval Handle) As String
Declare Sub OSUnlockObject Lib "NNotes.dll" Alias "OSUnlockObject" (Byval Handle)
Declare Sub OSMemFree Lib "NNotes.dll" Alias "OSMemFree" (Byval Handle)

Class remoteConsole
   Private IsError As Variant
   Private rc As Integer
   Private hBuffer As Long
   Private Server As String
   Private Command As String
   Private Result As String
   
   Sub New(inpServer As String)
      Dim server As New NotesSession
      If inpServer = "" Then
         Me.IsError = True
      Else
         Me.server=inpServer
         Me.IsError = False
      End If
   End Sub
   
   Function Execute(inpCommand As String) As String
      If Me.Server = "" Then
         Exit Function
      End If
      If inpCommand = "" Then
         Me.execute="You must specify a command"
         Me.iserror = True
         Exit Function
      Else
         Me.command = inpCommand
      End If
      
      Me.rc = NSFRemoteConsole(Me.server, Me.command, hBuffer)
      If Me.rc <> 0 Then
         Me.iserror = True
         Me.result="Error returned " & _
         " from console [" & Cstr(rc) & "]"
      Else
         Me.result = OSLockObject(hBuffer)
         Call OSUnlockObject(hBuffer)
         Call OSMemFree(hBuffer)
         Me.Iserror = False
      End If
      Me.execute = Me.result
   End Function
End Class

Sub Click(Source As Button)
   Dim exec As String
   Dim dummy As Variant
   Dim remConsole As New RemoteConsole ( "YOUR_SERVER_HERE" )
   Exec = "load compact....  deine Datenbank hier"
   dummy =  remConsole.Execute(exec)
End Sub

Navigation

[0] Themen-Index

[#] Nächste Seite

[*] Vorherige Sete

Zur normalen Ansicht wechseln