Page 1 sur 1

Code pour doublon

MessagePublié: 03 Juin 2010 à 11:29
par nowlan
Bonjour

J'aimerai faire le traitement suivant:

Dans la base admin du cluster on a une vue qui affiche toutes les bases
avec les id de replique :
En gros cette vue montre si une base est bien réplique deux documents sont affichées successivement avec le même id de replique

Je voudrais en fait comparer deux lignes si elles sont identiques
par exempe
Ligne 1 contient "ABC"
Ligne 2 contient "ABC"
Ligne 3 contient "EDC"
Ligne 4 contient "EDC"
Ligne 5 contient "EFG"
Ligne 6 contient "POI"

Alors je dis il y a bien deux document avec "ABC", deux document avec "EDC"

Je ne sais pas si je suis assez clair:)

Merci encore

Nowlan

MessagePublié: 03 Juin 2010 à 11:31
par Michael DELIQUE
j'ai pas tout compris

mais en gros tu veux parcourir ta vue et savoir si le document d'apres a la meme valeur que le document au dessus ?

MessagePublié: 03 Juin 2010 à 11:44
par Michael DELIQUE
j'y pense,

une solution simple

tu catégorise la vue puis tu rajoute une petite colonne qui fais le total et ensuite avec les notesviewentry tu va récuépré le contenu de la colonne total pour savoir s'il est supérieur à 1

MessagePublié: 03 Juin 2010 à 14:55
par LSong
pas mieux que michael

+ categoriser
+ une colonne avec un total

tu peu faire une extraction vers excel, ou en tabular
pour faire un tri

MessagePublié: 03 Juin 2010 à 15:14
par Michael DELIQUE
un exemple

Code : Tout sélectionner
   Set Session = New NotesSession
   'intanciantion de la vue gérant les doublons
   Set vwDoublon = Session.CurrentDatabase.GetView("mavue")
   If vwDoublon Is Nothing Then
      Error 9999,"View vwDoublon 'mavue' is Nothing"
      Exit Function
   End If
   
   'recupération de toutes les entrées
   Set navDoublon = vwDoublon.CreateViewNav
   If navDoublon Is Nothing Then
      Error 9999,"navDoublon is Nothing"
   End If
   
   'passe en revu chaque entré
   Set Entry = navDoublon.GetFirst
   While Not Entry Is Nothing
      If Entry.ColumnValues(1) > 1 Then
         DoublonHorodatage = DoublonHorodatage + 1            
      End If
      Set Entry = navDoublon.GetNext(Entry)
   Wend
   
   Set navDoublon = Nothing
   Set vwDoublon = Nothing

MessagePublié: 05 Juin 2010 à 20:14
par roubech
sinon, si tu veux vérifier que les bases sont bien répliquées entre 2 serveurs d'un cluster, il y a un outil dans le client d'admin, "décommissionner le serveur"
ça te génère une base avec plein d'infos pour comparer le serveur à arrêter et le serveur devant le remplacer, dont une liste de base qui ne sont pas présentent sur l'autre serveur
tu lances l'outil dans les 2 sens et voilà

bon d'accord, c'est manuel
si tu veux mettre en place une supervision régulière et automatique, je suis du même avis que Michael et LSong