par Michael DELIQUE » 14 Avr 2014 à 13:58
salut
c'est faisable en API, mais j'ai pas le code. sinon j'utilise cett function qui passe par l'adminP
- Code : Tout sélectionner
Public Function Admin_ReplicaCreate(wlstParam List As String) As String
Dim AdminP As NotesAdministrationProcess
Dim nmServer As NotesName
Dim nbCopyACL As Boolean
Dim nbCreateFTIndex As Boolean
On Error GoTo CatchError
Admin_ReplicaCreate = ""
If IsEmpty(wlstParam) = True Then
Error 9999,"wlstParam is Empty"
Exit Function
End If
If session Is Nothing Or DB Is Nothing Then
Set session = New NotesSession
Set DB = Session.CurrentDatabase
End If
If IsElement(wlstParam("ADMINISTRATIONPROCESSSERVER")) = False Then
Error 9999,"ADMINISTRATIONPROCESSSERVER value is not defined"
Exit Function
End If
If Trim(wlstParam("ADMINISTRATIONPROCESSSERVER")) = "" Then
Error 9999,"ADMINISTRATIONPROCESSSERVER value is Empty"
Exit Function
End If
Set nmServer = New NotesName(Trim(wlstParam("ADMINISTRATIONPROCESSSERVER")))
wlstParam("ADMINISTRATIONPROCESSSERVER") = nmServer.Canonical
Set nmServer = Nothing
If IsElement(wlstParam("SOURCESERVER")) = False Then
wlstParam("SOURCESERVER") = ""
End If
If Trim(wlstParam("SOURCESERVER")) = "" Then
wlstParam("SOURCESERVER") = DB.Server
End If
Set nmServer = New NotesName(Trim(wlstParam("SOURCESERVER")))
wlstParam("SOURCESERVER") = nmServer.Canonical
Set nmServer = Nothing
If IsElement(wlstParam("SOURCEDBFILE")) = False Then
Error 9999,"SOURCEDBFILE value is not defined"
Exit Function
End If
If Trim(wlstParam("SOURCEDBFILE")) = "" Then
Error 9999,"SOURCEDBFILE value is Empty"
Exit Function
End If
If IsElement(wlstParam("DESTSERVER")) = False Then
wlstParam("DESTSERVER") = ""
End If
If Trim(wlstParam("DESTSERVER")) = "" Then
wlstParam("DESTSERVER") = DB.Server
End If
Set nmServer = New NotesName(Trim(wlstParam("DESTSERVER")))
wlstParam("DESTSERVER") = nmServer.Canonical
Set nmServer = Nothing
If IsElement(wlstParam("DESTDBFILE")) = False Then
wlstParam("DESTDBFILE") = ""
End If
If Trim(wlstParam("DESTDBFILE")) = "" Then
wlstParam("DESTDBFILE") = Trim(wlstParam("SOURCEDBFILE"))
End If
If UCase(Trim(wlstParam("SOURCESERVER"))) = UCase(Trim(wlstParam("DESTSERVER"))) Then
If UCase(Trim(wlstParam("SOURCEDBFILE"))) = UCase(Trim(wlstParam("DESTDBFILE"))) Then
Error 9999,"You try to replicate database on itself, source and destination are identical"
Exit Function
End If
End If
nbCopyACL = True
If IsElement(wlstParam("COPYACL")) = True Then
Select Case UCase(Trim(wlstParam("COPYACL")))
Case "YES","Y","TRUE","T","1",CStr(True),"","DEFAULT","D"
nbCopyACL = True
Case "NO","N","FALSE","F","0",CStr(False)
nbCopyACL = False
Case Else
Error 9999,"COPYACL wrong value : "+wlstParam("COPYACL")
Exit Function
End Select
End If
nbCreateFTIndex = False
If IsElement(wlstParam("CREATEFTINDEX")) = True Then
Select Case UCase(Trim(wlstParam("CREATEFTINDEX")))
Case "YES","Y","TRUE","T","1",CStr(True)
nbCreateFTIndex = True
Case "NO","N","FALSE","F","0",CStr(False),"","DEFAULT","D"
nbCreateFTIndex = False
Case Else
Error 9999,"CREATEFTINDEX wrong value : "+wlstParam("CREATEFTINDEX")
Exit Function
End Select
End If
Set nmServer = New NotesName(Trim(wlstParam("ADMINISTRATIONPROCESSSERVER")))
Set AdminP = Session.Createadministrationprocess(nmServer.Canonical)
If AdminP Is Nothing Then
Error 9999,"AdminP is Nothing, Administration Process Server : "+nmServer.Abbreviated
Exit Function
End If
Set nmServer = Nothing
Admin_ReplicaCreate = AdminP.Createreplica(wlstParam("SOURCESERVER"), Trim(wlstParam("SOURCEDBFILE")), wlstParam("DESTSERVER"), Trim(wlstParam("DESTDBFILE")), nbCopyACL, nbCreateFTIndex)
Set AdminP = Nothing
%REM
Liste des paramètres
lstParam("ADMINISTRATIONPROCESSSERVER") = ""
lstParam("SOURCESERVER") = ""
lstParam("SOURCEDBFILE") = ""
lstParam("DESTSERVER") = ""
lstParam("DESTDBFILE") = ""
lstParam("COPYACL") = ""
lstParam("CREATEFTINDEX") = ""
%END REM
Exit Function
CatchError:
MsgBox "("+Structure_Log+" : "+Cstr(GetThreadInfo (1))+" Call by "+Cstr(GetThreadInfo(10))+")"+Chr(10)+"Error " + CStr(Err) + " : "+Chr(10) + CStr(Error)+". "+Chr(10)+"Line # "+Cstr(Erl),16," ERROR !"
Admin_ReplicaCreate = "ERROR : " + CStr(Error)+" ("+ CStr(Err) + ")"
Exit Function
End Function
Cordialement
Michael (SMS-Phobique)
----------------------------
"La théorie, c'est quand on sait tout et que rien ne fonctionne. La pratique, c'est quand tout fonctionne et que personne ne sait pourquoi."
Albert EINSTEIN