• Курсы Академии Кодебай, стартующие в мае - июне, от команды The Codeby

    1. Цифровая криминалистика и реагирование на инциденты
    2. ОС Linux (DFIR) Старт: 16 мая
    3. Анализ фишинговых атак Старт: 16 мая Устройства для тестирования на проникновение Старт: 16 мая

    Скидки до 10%

    Полный список ближайших курсов ...

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

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

oshmianski

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

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

вопрос: как на LS определить факт наличия нескольких локальных реплик одной бд?
 

lmike

нет, пердело совершенство
Lotus Team
27.08.2008
7 941
609
BIT
217
мобуть как в хэлпе:
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
 
O

oshmianski

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

еще варианты?
 
T

TIA

Вариант №2
notesDB1.OpenByReplicaID
oldRepid = SetNewReplicaid(notesDB1)
notesDB2.OpenByReplicaID
 
A

Akupaka

этот вопрос уже был на форуме, но тогда на сервере надо было определить.
если на сервере, то варианта два:
1) NotesDbDirectory
2) при включенном каталогере, можно почитать базу catalog.nsf, view "($ReplicaID)"
на локале, вероятно, только первый вариант (если ничего не менять в самих базах и файловой сруктуре)
 
O

Omh

NotesDbDirectory работает на удивление быстро.
Я бы через него делал.
 
O

oshmianski

что ж, видимо, это и будет правильным ответом - notesDBDirectory.

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

Обучение наступательной кибербезопасности в игровой форме. Начать игру!