Page 1 sur 1
Est-il possible de répliquer un document en scripte

Publié:
13 Oct 2010 à 10:54
par LSong
Bonjour,
quelqu'un saurait-il s'il est possible en scripte de repliquer un document entre deux repliques en scripte
pour histoire
j'ai un Serveur A
qui va dans un HUB A
qui est connecté a un HUB B
connecté a une Replique B
je souhaite envoyer un document de B dans A comme si le document avait repliquer, pour que quand les replications se fasse je ne me retrouve pas avec des conflits
je ne sais pas si c'est claire comme question

Publié:
13 Oct 2010 à 11:38
par Michael DELIQUE
salut
je suppose que tu parles de conflit d'enregistrement pas de réplique ?

Publié:
13 Oct 2010 à 12:33
par LSong
je parle bien de repliquer un document a la demande entre deux replique
si je fait que copier le document je vais provoquer une duplication ou un conflit selon la methode
je cherche un moyen de repliquer un document entre deux bases a la main ... je ne sais pas si c'est possible

Publié:
13 Oct 2010 à 12:36
par Michael DELIQUE
re,
bon la copie de document entre 2 replique ne change pas l'unid des documents si cexi ne sont pas présent dans la base cible.
maintenant comment peut tu avoir un conflit si tu ne change le document qu'a un seul endroit ?

Publié:
13 Oct 2010 à 13:12
par LSong
dans la Base B j'ai un document que l'utilisateur peu modifier
il doit faire une publication qui le rend disponible sur le web, sauf que cette partie est centraliser et sur une autre techno (qui ne supporte pas la réplication)
du coup le site web pointe vers un document sur la base A qui du coup n'est pas le bon tant que la replication n'est pas venu le mettre à jour on voulait faire une replication cible sur le document entre A et B pour mettre a jour ce document avant la publication
dut au passage par les hub la replication peu prendre 1h ...

Publié:
13 Oct 2010 à 13:15
par Michael DELIQUE
je ne connais pas de méthode qui permette de forcer la réplication d'un seul document
par contre ce que tu peux faire/ essayer en script
supprimer le document de la base A et en faire une copie depuis la base B.
et tu regarde si l'unid a changé

Publié:
13 Oct 2010 à 13:29
par LSong
c'est ce que je fais pour le moment ca part en vrille des que je supprime
je ne vais pas abandoner


Publié:
13 Oct 2010 à 13:50
par Michael DELIQUE
qu'as tu comme erreur ?

Publié:
13 Oct 2010 à 14:52
par LSong
pas d'erreur mais je suis aller chercher le document dans la base cible avec un db.getDocumentByUNID, du coup quand je le supprime ca me le supprimez aussi dans la base initial, ce qui n'etait pas le but
j'ai dut aller le rechercher via une vue trié par UNID pour que ca marche
apres mon effacement / copie la replique fonctionne normalement
- Code : Tout sélectionner
Dim s As New NotesSession
Dim db As NotesDatabase
Dim docCol As NotesDocumentCollection
Dim doc As NotesDocument
Dim view As NotesView
Set db = s.CurrentDatabase
Set docCol = db.UnprocessedDocuments
Set doc = docCol.GetFirstDocument ()
Dim dbR As New NotesDatabase ("", "")
Dim docR As NotesDocument
Dim docR2 As NotesDocument
Call dbR.Open ("dvpar007", db.FilePath)
Set view = dbR.GetView ("UNID")
Set docR = view.GetDocumentByKey (doc.UniversalID, True)
Print docR.UniversalID
Call docR.Remove (True)
Set docR2 = doc.CopyToDatabase (dbR)
Print docR2.UniversalID
If docR2.UniversalID <> doc.UniversalID Then
docR2.UniversalID = doc.UniversalID
Call docR2.Save (True, False)
End If

Publié:
13 Oct 2010 à 15:10
par Michael DELIQUE
re,
pas normale, si tu supprime sur une base, c'est la réplication qui supprime sur l'autre !
tu ne devrais pas avoir besoin de passer par une vue par unid (qui en passant est lourd et inutile)

Publié:
13 Oct 2010 à 15:36
par LSong
je sais moi aussi je trouve ca etrange
tant que j'ai fait un db.getDocumentByUNID j'ai eut des problèmes

Publié:
13 Oct 2010 à 23:39
par roubech
et tu peux pas plus simplement créer les docs de connections pour augmenter la fréquence de réplication pour cette base là entre les différents serveurs ?
sinon, lancer une rplication de la base entre 2 serveur (pas juste un doc), db.replicate ou @Command([ToolsReplicate]

Publié:
14 Oct 2010 à 08:40
par LSong
ben il n'y a pas de document de replication entre les deux base directement
les utilisateur qui vont avoir besoin de ca n'ont pas de droit particulier
mais c'est vrai qu'il faut creuser aussi par la