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

Тема в разделе "Lotus - Программирование", создана пользователем oshmianski, 30 окт 2009.

  1. oshmianski

    oshmianski Гость

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

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

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

    lmike нет, пердело совершенство
    Команда форума Lotus team

    Регистрация:
    27 авг 2008
    Сообщения:
    6.081
    Симпатии:
    300
    мобуть как в хэлпе:
    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
     
  3. oshmianski

    oshmianski Гость

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

    еще варианты?
     
  4. TIA

    TIA :-)
    Lotus team

    Регистрация:
    15 май 2009
    Сообщения:
    790
    Симпатии:
    0
    Вариант №2
    notesDB1.OpenByReplicaID
    oldRepid = SetNewReplicaid(notesDB1)
    notesDB2.OpenByReplicaID
     
  5. Akupaka

    Akupaka А че я?.. О.о

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

    Omh Lotus team
    Lotus team

    Регистрация:
    4 июл 2007
    Сообщения:
    2.210
    Симпатии:
    0
    NotesDbDirectory работает на удивление быстро.
    Я бы через него делал.
     
  7. oshmianski

    oshmianski Гость

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

    всем спасибо.
     
Загрузка...

Поделиться этой страницей