определить наличие нескольких локальных реплик

  • Автор темы Автор темы oshmianski
  • Дата начала Дата начала
O

oshmianski

имеем некую систему из N баз на локале.

из базы А стучимся в бд Б по notesDB.OpenByReplicaID.
если реплика бд Б на локале одна, то гут. если несколько, то иногда заворачиваем не туда.

вопрос: как на LS определить факт наличия нескольких локальных реплик одной бд?
 
мобуть как в хэлпе:
Dim session As New NotesSession
Dim directory As NotesDbDirectory
Dim db As NotesDatabase
Set directory = session.GetDbDirectory( "Somerville" )
Set db = directory.GetFirstDatabase( TEMPLATE )
Call db.Open( "", "" )

и перебирать базы - получая и ИД и сохраняя в List
 
пасиб.
вариант 1 есть.
если баз очень много, то этот процесс может затянутся.

еще варианты?
 
Вариант №2
notesDB1.OpenByReplicaID
oldRepid = SetNewReplicaid(notesDB1)
notesDB2.OpenByReplicaID
 
этот вопрос уже был на форуме, но тогда на сервере надо было определить.
если на сервере, то варианта два:
1) NotesDbDirectory
2) при включенном каталогере, можно почитать базу catalog.nsf, view "($ReplicaID)"
на локале, вероятно, только первый вариант (если ничего не менять в самих базах и файловой сруктуре)
 
NotesDbDirectory работает на удивление быстро.
Я бы через него делал.
 
что ж, видимо, это и будет правильным ответом - notesDBDirectory.

всем спасибо.
 
Мы в соцсетях:

Взломай свой первый сервер и прокачай скилл — Начни игру на HackerLab

Похожие темы