Autor Thema: Replizierungsinfos setzen  (Gelesen 1827 mal)

Offline Untitled

  • Senior Mitglied
  • ****
  • Beiträge: 364
    • Musiker24.ch - Musiker und Bands finden
Replizierungsinfos setzen
« am: 03.02.06 - 14:00:24 »
Hi, ein sehr schweres Problemchen hier:

Das Thema bezieht sich hierauf http://atnotes.de/index.php?topic=18478.0.

Ich habe festgestellt, dass unter den Einstellungen unter "Rechtsklick auf Kachel -> Replication -> Replicate" das Feld "with:" geleert wird. Also der Server zum replizieren.

Kann man das irgendwie per Script/API befüllen?

Danke & Grüsse
Untitled
« Letzte Änderung: 03.02.06 - 17:45:51 von Untitled »

Offline Untitled

  • Senior Mitglied
  • ****
  • Beiträge: 364
    • Musiker24.ch - Musiker und Bands finden
Re: Replizierungsinfos setzen
« Antwort #1 am: 03.02.06 - 17:44:50 »
Hier die (unbefriedigende) Lösung:

Es gibt nur die Möglichkeit, die Replik gleich anschliessend per API zu replizieren. Dies kann mit folgendem Code gemacht werden:

Code
Const REPL_OPTION_RCV_NOTES& = &H00000001 '*** Receive notes from server (pull)
Const REPL_OPTION_SEND_NOTES& = &H00000002 '*** Send notes to server (push)

Type REPLFILESTATS
	TotalFiles As Long
	FilesCompleted As Long
	NotesAdded As Long
	NotesDeleted As Long
	NotesUpdated As Long
	Successful As Long
	Failed As Long
	NumberErrors As Long
End Type

Type REPLSERVSTATS
	Pull As REPLFILESTATS
	Push As REPLFILESTATS
	StubsInitialized As Long
	TotalUnreadExchanges As Long
	NumberErrors As Long
	LastError As Integer
End Type

Declare Function ReplicateWithServerExt Lib "nnotes.dll" Alias "ReplicateWithServerExt" ( Byval PortName As Long, Byval ServerName As String, Byval Options As Long, Byval NumFiles As Integer, Byval FileList As String, ExtendedOptions As Long, retStats As REPLSERVSTATS ) As Integer

Function ReplicateDatabase( SourceServer As String, TargetServer As String, TargetDb As String, RepFlags As Long ) As Integer
	'by http://www-10.lotus.com/ldd/46dom.nsf/0/13133796bf6cadf4852568e2005b8f9a?OpenDocument
	
'*** Replicate database given by TargetServer!!TargetDb with a replica it has on SourceServer.
'*** Use RepFlags& to specify Push, Pull or both.
'*** Returns True if successfull, False otherwise.
	
	Dim Tdb As String 
	Dim hdb As Long
	Dim RetStats As REPLSERVSTATS
	Dim rc As Integer
	
	ReplicateDatabase% = False
	
'*** Build a path to the database.
	If TargetServer$ = "" Then
		Tdb$ = TargetDb$
	Else
		Tdb$ = TargetServer$ & "!!" & TargetDb$
	End If
	
'*** Do the replication thang. Can check RetStats to display what hapened... maybe later!
	rc% = ReplicateWithServerExt( 0&, SourceServer$, RepFlags&, 1&, Tdb$, 0&, RetStats )
	If rc% <> 0 Then
		'Messagebox "Rep with server failed."
		Exit Function
	End If
	
	ReplicateDatabase% = True
	
End Function

Dann muss der Funktion "ReplicateDatabase" beim Parameter "SourceServer" der Server übergeben werden. Auslesen kann man ihn leider nicht.

Diesen Code habe ich von hier: http://www-10.lotus.com/ldd/46dom.nsf/0/13133796bf6cadf4852568e2005b8f9a?

Zur ganzen Geschichte möchte ich noch sagen, dass es mich nervt, wie die Entwickler von Notes ihre (nicht allzu seltenen) Bugs "fixen".  >:(

Im ND6 funktioniert die Funktion zu Löschung der History übrigens einwandfrei...

Grüsse
Untitled
« Letzte Änderung: 03.02.06 - 17:50:16 von Untitled »

 

Impressum Atnotes.de  -  Powered by Syslords Solutions  -  Datenschutz