Архивирование базы

Тема в разделе "Lotus - Программирование", создана пользователем GROMILA, 2 ноя 2007.

  1. GROMILA

    GROMILA Well-Known Member

    Регистрация:
    8 апр 2004
    Сообщения:
    297
    Симпатии:
    0
    Привет всем.
    Есть постоянно пополняемая база.
    Есть ряд полуаналитических выборок по месяцам, датам и т.п.
    В основном данные интересны за 2 последних года.
    Но иногда нужна сквозная аналитика за все годы в виде отчета.

    Расскажите кто как организовывал архивирование документов базы?
    C применением каких средств?
    Как пополняли архив?
     
  2. Sandr

    Sandr Гость

    Скопировали эту же базку, назвали её архивом, поодключали все шедульные агенты. Потом в основной базке написали шедульный агентик, который бегает по все нужным дкоументам, и если док нужно архивировать -копировали в архивную базку, а из текущей прибивали...

    Это самый просто пример.. а ваще механизмов много испольуется, но кто ж их будет рассказывать на общедоступных формуах.. :(
     
  3. root

    root Гость

    я так делал
    Код (Text):
        Dim nArchDb As New NotesDatabase("s1/s1","(Archive).nsf")
    Dim nSs As New NotesSession
    Dim nDb As NotesDatabase
    Dim nDoc As NotesDocument
    Dim nDocColl As NotesDocumentCollection
    Set nDb = nSs.CurrentDatabase
    Formula1$={Form="WorkNote" }'условия отбора
    Set nDocColl = nDb.Search(Formula1$,Nothing,0)
    Set nDoc = nDocColl.GetFirstDocument
    While Not(nDoc Is Nothing)
    Call        nDoc.CopyToDatabase(nArchDb)
    Set      nDoc = nDocColl.GetNextDocument(nDoc)
    Wend
     
  4. Sandr

    Sandr Гость


    Пример не совсем удачный... так как если есть связка документов (отец - сын ;)), то если отец подходит под условие архивирование, а сын еще нет, то отец уйдет в архив, а сын останется сиротой... Правильные, если хоть один из документов связки не попадает под условие архивирования - не архивировать документ...

    ЗЫ: Считаю это важнейшим моментов в архивировании...
     
  5. root

    root Гость

    Вся семья ;)
    Код (Text):
     
    Dim nArchDb As New NotesDatabase("s1/s1","(Archive).nsf")
    Dim nSs As New NotesSession
    Dim nDb As NotesDatabase
    Dim nDoc As NotesDocument
    Dim nDocColl As NotesDocumentCollection
    Set nDb = nSs.CurrentDatabase
    Formula1$={Form="WorkNote"| @AllChildren }'условия отбора
    Set nDocColl = nDb.Search(Formula1$,Nothing,0)
    Set nDoc = nDocColl.GetFirstDocument
    While Not(nDoc Is Nothing)
    Call        nDoc.CopyToDatabase(nArchDb)
    Set      nDoc = nDocColl.GetNextDocument(nDoc)
    Wend
     
  6. Sandr

    Sandr Гость

    ;) А как же ануки.. правнуки... :)
     
  7. GROMILA

    GROMILA Well-Known Member

    Регистрация:
    8 апр 2004
    Сообщения:
    297
    Симпатии:
    0
    Что скажет сообщество по поводу ахивирования путем выгрузки в SQL Server?
     
  8. Sandr

    Sandr Гость

    А зачем? Если архив нуже "шоб лежал", то можно, а ели архивом пользуются, то не желательно... Ганять данные туда-сюда - неблагодарное дело...
     
  9. root

    root Гость

    Для: GROMILA
    Делал только базу с тестами, sql+lotus нормально работает.
     
  10. GROMILA

    GROMILA Well-Known Member

    Регистрация:
    8 апр 2004
    Сообщения:
    297
    Симпатии:
    0
    Архив нужен только для построения аналитических отчетов.
    никаких переиндексирующихся представлений ему не нужно.

    объемы увеличиваются с каждым годом и база уже начинает занимать 1,5 ГБ
    В SQL она займет от силы 50 МБ, ну может 100МБ

    Root
    расскажите какие технологии использовали и как все было организовано?
     
  11. root

    root Гость

Загрузка...

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