Автоматически компакт локальных баз, лог базы

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

  1. nila

    nila Гость

    Привет
    Такая проблема
    хочу автоматически делать компакт всех локальных баз.
    Я так понимаю что можно написать агент. который работает локально и запускает компакт локальной базы.
    Кто нибудь решал такую задачу?

    Так же локальная лог база огромная

    и как можно изменить репликации space server параметер удалять log.nsf записи после 10 дней

    нашла в configurations что можно прописывать в notes.ini сколько хранить log.nsf\

    Но это я понимаю только для сервера.
    А как же быть с локальной базой log.nsf
     
  2. Akupaka

    Akupaka А че я?.. О.о

    Регистрация:
    4 окт 2007
    Сообщения:
    3.373
    Симпатии:
    2
    можешь честно прибить. лотус создаст заново.
    компактить можно либо из админа на локальный сервер, либо из командной строки с помощью ncompact.exe (windows)
     
  3. abbatik

    abbatik Lotus team
    Lotus team

    Регистрация:
    20 окт 2008
    Сообщения:
    277
    Симпатии:
    0
    Все просто. Перебираешь базы через навигатор, и делаешь им notesDatabase.Compact
    По поводу лога, читайте пост предыдущего аратора :)
     
  4. nila

    nila Гость

    "Перебираешь базы через навигатор"

    не очень понимаю :) , как это через навигатор?

    получается мне надо создать агент, ( в другой какой то базе локальной), и перебирать все локальные базы в папке дата, и делать им компакт.

    А для базы локальной лог.nsf.
    Можно же поставить в репликационных установках space savers / удалять документы не тронутые 3 дня, к примеру.
    Возможно ли эту галочку проставить програмно, и задать сколько дней хранить?
     
  5. abbatik

    abbatik Lotus team
    Lotus team

    Регистрация:
    20 окт 2008
    Сообщения:
    277
    Симпатии:
    0
    Извините, описался.. через NotesDbDirectory

    Да, что-то типа

    Код (Text):
    Dim s As New NotesSession
    s.Initialize
    Dim dir As NotesDbDirectory
    Dim db As NotesDatabase
    Set dir = s.GetDbDirectory(<имя дирректории>)
    Set db = dir.GetFirstDatabase(NOTES_DATABASE)
    While Not (db Is Nothing)
    db.Compact
    Set db = dir.GetNextDatabase
    Wend
    End Sub
     
  6. Akupaka

    Akupaka А че я?.. О.о

    Регистрация:
    4 окт 2007
    Сообщения:
    3.373
    Симпатии:
    2
    тогда вперед! че спрашиваешь, что в логе можно испортить?...
    если разработчики не намутили никакой ерунды, то логически, база не задействованная в репликации не будет использовать этих свойств...
     
  7. nila

    nila Гость

    когда я запускаю ncompact.exe
    оно бывает спрашивает пароль
    почему то у когото спрашивает, у кого то нет

    и еще вопрос:
    работают ли log параметры в notes.ini на локальную log.nsf?
    Log=LOG.NSF,1,0,7,40000
    и когда он очищает базу, по какому действию?
     
  8. nila

    nila Гость

    Спасибо большое.
    пробую!
    Но вот не пойму, можно поставить это в агент, который будет это все компактить например ночью.
    запускаю агент он рубится db.compact, и говорит база не открыта. Что обязательно база должна быть открыта?
    и как быть с desktop6.ndk , помойму он не компактится

    ncompact.exe не обрабатывает desktop6.ndk.
    С каким параметром запусать, что б оно обрабатывалось нормально?
    потому что когда лотус открыт и я запускаю ncompact.exe бывают всякие глюки
    что помогает только перезагрузка винды.
     
  9. abbatik

    abbatik Lotus team
    Lotus team

    Регистрация:
    20 окт 2008
    Сообщения:
    277
    Симпатии:
    0
    Если не открыта, делай db.Open ("", "")

    Нафиг тебе desktop.ndk все время компактить? :) Оставь его в покое :)
     
  10. Akupaka

    Akupaka А че я?.. О.о

    Регистрация:
    4 окт 2007
    Сообщения:
    3.373
    Симпатии:
    2
    зачем такие излишества?..
    сделай себе в пакетный файл (*.cmd, чтобы ncompact дергало на папку data) и запускай перед обедом! соблюдай правила техники безопасности! береги электроэнергию! :)
     
Загрузка...

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