Открыть Базу На Другом Сервере 2

Тема в разделе "Lotus - Администрирование", создана пользователем Dragon108, 1 ноя 2012.

  1. Dragon108

    Dragon108 Well-Known Member

    Регистрация:
    19 янв 2010
    Сообщения:
    264
    Симпатии:
    0
    Есть два сервера (не в кластере). Полностью идентичных, кроссертифицированны, между ними идет полная репликация (всех данных). Сейчас часть пользователей перекидывается с одного сервера на другой. Проблема в следующем:
    Если пользователю уже был поставлен Lotus и открыты, например, базы с первого сервера, а потом его "перевели" на второй (удалили учетку с первого сервера и создали новую на втором). То при открытии базы со второго сервера в лотусовом клиенте (где уже открыты базы с первого сервера) во встроенных представления подтягиваются вьюхи с документами с первого сервера ... Но если все базы со второго сервера открыть руками, то встроенные вьюхи подтянуться, как положено из второго сервера ...

    Значки баз с первого сервера можно удалить (что бы пользователь в них просто не работал) можно почистить файл desktop6.ndk и desktop8.ndk, почистить notes.ini, что бы заново подключаться к серваку, почистить кэш - удалить файл cache.ndk, но даже так происходит вышеописанная ситуация, встроенные представления подтягиваются с первого сервера.

    Открывать все базы руками на втором сервере очень долго - их порядка 20 - 25 штук и порядка 100 пользователей.

    Подскажите плиз.

    P.S. нашел примерно похожую тему - тут . Но там как то не нашел ответа (
     
  2. Кирилл Шваб

    Кирилл Шваб Well-Known Member

    Регистрация:
    30 июн 2006
    Сообщения:
    143
    Симпатии:
    4
    Dragon108,

    Если речь про embedded view, то надо смотреть в дизайнере, откуда берутся данные, отображаемые в этих представлениях.
     
  3. Dragon108

    Dragon108 Well-Known Member

    Регистрация:
    19 янв 2010
    Сообщения:
    264
    Симпатии:
    0
    Ну embedded view вставлено просто из другой базы, и насколько я понимаю, оно привязывается по Replica ID, но никак ни к серверу ... и вот каким боком лотус выстраивает очередь серверов откуда ее подгружать ... для меня пока загадка.

    P.S. Заметил так же, что если просто тыкнуть по иконке базы на втором сервере (просто не открывая ее), то все встроенные представления будут подтягиваться со второго сервера ... мистика. Причем никакие программные методы не помогают, ни Open - методы у NotesDatabase, ни Open методы у NotesUiWorkspace - этот метод врообще открывает базу в клиенте, можно провалиться в документ ... но блин все равно ... если встроенное представление из этой базы, и ручками не тыкнуть или открыть эту бд на втором сервере, то представление будет подтягиваться с первого ...
     
  4. Кирилл Шваб

    Кирилл Шваб Well-Known Member

    Регистрация:
    30 июн 2006
    Сообщения:
    143
    Симпатии:
    4
    Dragon108,

    Попробуй:
    http://dontpanic82.blogspot.ru/2011/05/for...-from-same.html

    А вообще обращение к другим базам напрямую (Embedded View или @DbLookup/@DbColumn) - это не самый лучший подход в разработке (хотя достаточно простой и удобный), т.к. нет целостности - можно, например, в целевой базе поменять представление, а в исходных (которые используют данные из целевой) где-то забыть тоже поменять (IDE то никак не отслеживает подобные связи).

    Поэтому для больших/сложных приложений обычно используют интерфейсы, через которые идет взаимодействие между различными частями системы. В качестве примера можно рассмотреть базу справочника:

    1. Есть несколько модулей (баз) системы, которые используют один справочник
    2. В базе справочника есть несколько представлений с данными
    3. Также в ней есть интерфейсная библиотека с классами/функциями, с помощью которых идет работа с данными справочника (получение/правка/...)
    4. Библиотека наследуется в те модули, которые используют справочник
    5. Если надо что-то поменять в справочнике, то вносятся правки в представления и библиотеку (чтобы отдавала все как надо)
    6. Остальные базы (модули) править не надо - профит ;-)
     
  5. Dragon108

    Dragon108 Well-Known Member

    Регистрация:
    19 янв 2010
    Сообщения:
    264
    Симпатии:
    0
    За ссылку спасибо, но вижу там слова DXL :( Собственно догадывался что к этому все и приведет :)


    Вообще у нас принято, что если уж используем встроенные представления, то берем их из профильных документов в бд, где они хранятся в рич-текстовом поле в DXLе и соответственно для каждого сервера подгружаем нужное представление из нужного профильного документа. В данном приложение это, к сожалению, не реализовано, поэтому ох уж как не хочется все переделывать ...


    :D Вот к этому не придерешься ... так и приходится каждый раз что то придумывать, вместо того, что бы пользоваться стандартными вещами предоставляемыми IBM в Lotusе
     
Загрузка...

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