1

Тема: Включение DAOS в Lotus/Domino

В домино администраторе в серверном документе  во вкладке DAOS 

1.
Серверный NOTES.INI:
Create_R85_Databases=1
NSF_UpdateODS=1

2.
- вкл. "хранить приложения в DAOS"..
- путь к папке "C:/DAOS"
- время 3 дня.

3.
Transactional logging: включить
- путь к папке лога "C:/DAOS"
- размер лога 500 МБ.

4.
Копия базы  - например "Документы" (если ODS 43), в "Документы2"  проверяем, чтобы ODS стало 51.
- ставим галочку  "Use Domino Attachment and Object Service".
- документы не копируем.

5.
Отдельной кнопкой переносим документы с "Документы"  в "Документы2". сохраняя старый UNID

6.
Удаляем пустую БД "Документы".

Поделиться

2

Re: Включение DAOS в Lotus/Domino

Load fixup promdoc/documents.nsf
Load updall -R promdoc/documents.nsf
Load compact -c promdoc/documents.nsf


Данный набор команд обновляет ODS, а так же при включенном хранении файлов в объектах (ДАОС) - выносит вложения с базы в ДАОС.

Поделиться

3

Re: Включение DAOS в Lotus/Domino

Чтобы не копировать базу и потом отдельно документы в неё, можно в текущей базе обновить ODS43 на ODS51 в консольке командой
Load compact -c   путь/база.nsf

Поделиться

4

Re: Включение DAOS в Lotus/Domino

Код кнопки - коприрует все документы с текущей базы в нужную - BD1, сохраняя все UniversalID у документов.

Sub Click(Source As Button)
    Dim session As New NotesSession    
    Dim db As NotesDatabase, workdb As NotesDatabase
    Dim view As NotesView
    Dim doc As NotesDocument, newdoc As NotesDocument
    Dim linksDB As NotesDatabase
    Dim Agent As NotesAgent
    Dim docRequest As NotesDocument
    Dim item As NotesItem
    Dim paramid As String
    Dim server As String
    Set ns=New NotesSession
    Dim viewlog As NotesView
    Dim id_curdoc As String     
    '
    Dim dc As NotesDocumentCollection
    Dim ftdoc As notesdocument
    Dim  ftnewdoc As  NotesDocument
    Dim  nextftdoc As  NotesDocument
    
    On Error Goto Errh
    Set db = session.CurrentDatabase
    server = db.Server
    Set view=db.GetView("all doc")
    Set workdb = New NotesDatabase( server, "docobor\BD1.nsf" )
    Dim i As Double
    i=0
    Set doc = view.GetFirstDocument
    While Not (doc Is Nothing)
        
        Set newdoc=workdb.CreateDocument        
        Call doc.CopyAllItems(newdoc,1)
        newdoc.UniversalID=doc.UniversalID
        Call newdoc.Save(True,False)
        
        Print doc.UniversalID & "  " & i
        i=i+1
        
        Set nextdoc = view.getnextdocument(doc)
        Set doc=nextdoc
        Set nextdoc=Nothing
        'Print doc.UniversalID  & doc.header(0)
    Wend
    
    
    Exit Sub
Errh:    
    '
    Print Error & | in line | & Erl(), 64, |Lotus Notes (| & Lsi_info(2) & |)|
    'Goto nextDoc
    'Exit Sub
End Sub

Поделиться

5

Re: Включение DAOS в Lotus/Domino

Вариант с коллекцией документов:

Sub Click(Source As Button)
    Dim session As New NotesSession
    Dim db As NotesDatabase
    Dim dc As NotesDocumentCollection    
    Set db = session.CurrentDatabase
    Dim db2 As NotesDataBase
    Dim doc As NotesDocument
    Dim newdoc  As NotesDocument
    Set db2 = session.Getdatabase("B/i", "O\r\G.nsf")
    Set dc=db.AllDocuments
    
    For i=1 To dc.count
        Set doc = dc.GetNthDocument(i)    
        Set newdoc=db2.CreateDocument    
        Call doc.CopyAllItems(newdoc,1)
        newdoc.UniversalID=doc.UniversalID
        Call newdoc.Save(True,False)
        Print doc.UniversalID & "  " & i
    Next
End Sub

Поделиться