Domino 9 und frühere Versionen > ND6: Entwicklung

Replizierungsinfos setzen

(1/1)

Untitled:
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

Untitled:
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

--- Ende Code ---

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

Navigation

[0] Themen-Index

Zur normalen Ansicht wechseln