Помогите с реализацией архивирования

  • Автор темы TimurM
  • Дата начала
Статус
Закрыто для дальнейших ответов.
T

TimurM

#1
Добрый день.
Следующая проблема. Есть база данных на сервере с дизайном для ввода и редактирования данных.
Необходимо создать архивную базу упрощенной структуры, в которой будут средства просмотра и т. д.
Архивная база будет на локальном компьтере, на сервере ее хранить нет возможности из-за размера.
Нужно, чтобы дизайн архивной базы на локальном компе при архивации автоматом обновлялся (шаблон архивной базы
думаю хранить на сервере).
Если использовать стандартные методы архивации лотуса (недокументированные методы NotesUIDatabase типа
ArchiveNow(), EditArchiveSettings() и т. д.), то он просто скопирует дизайн с базы оригинала,
а мне нужно его брать с другого шаблона.
Я думал шаблон архивной базы хранить на сервере, а локальная база будет его юзать.
Вопросы:
1. есть ли метод в LotusScript, позволяющий принудительно обновить структуру существующей базы
немедленно с шаблона?
2. Если я иду не в том направлении подскажите, плиз, как сделать правильнее.
Заранее спасибо.
 

ToxaRat

Чёрный маг
Lotus team
06.11.2007
3 233
18
#2
Код:
Declare Private Function W32_NSFDbOpen Lib "nnotes" Alias "NSFDbOpen" (Byval PathName As Lmbcs String, hDB As Long) As Integer
Declare Private Function W32_DesignRefresh Lib "nnotes" Alias "DesignRefresh" (Byval ServerName As Lmbcs String, Byval hDB As Long, Byval dwFlags As Long, Byval abortCheck As Integer, Byval messageProc As Integer) As Integer
Declare Private Function W32_NSFDbClose Lib "nnotes" Alias "NSFDbClose" (Byval hDB As Long) As Integer


Dim rc As Integer, hDb As Long
Call AddLog("Оновлення на сервері: " & destPath & " ...")	
rc = W32_NSFDbOpen(destPath, hDb) ' Open the db in the API and get a handle to the open db
If rc <> 0 Then
Call AddLog("Не удаётся открыть БД - Error Code " & Cstr(rc))
Else
rc = W32_DesignRefresh("", hDb, 0, 0, 0)
If rc <> 0 Then
Call AddLog("Не удалось обновить БД - Error Code " & Cstr(rc))
End If
Call W32_NSFDbClose(hDb)
End If
обновить дизайн можно только через АПИ
 
Статус
Закрыто для дальнейших ответов.