как правильно Ls создавать реплику?

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

  1. ToxaRat

    ToxaRat Чёрный маг
    Lotus team

    Регистрация:
    6 ноя 2007
    Сообщения:
    3.047
    Симпатии:
    18
    Собственно если мы создаём реплику руками на локальную машину то потом по Ctrl+O спокойно её видим и она полностью синициализирована

    Если же создаём скриптом
    то её можно только через Browse найти, не говоря уже про то, что в 50% случаях (особенно 8.5 эклипсовым клиентом) её тем же скриптом уже не удаётся подписать (db.sign) - валит ошибки на раз...

    как же правильно создавать скриптом?
     
  2. rinsk

    rinsk Lotus team
    Lotus team

    Регистрация:
    12 ноя 2009
    Сообщения:
    799
    Симпатии:
    78
    Какие ошибки при db.sign ?
     
  3. ToxaRat

    ToxaRat Чёрный маг
    Lotus team

    Регистрация:
    6 ноя 2007
    Сообщения:
    3.047
    Симпатии:
    18
    любые, раз на раз не приходится, может и не быть вообще
    как буд-то пока создаётся реплика локально иногда она не дотягивается до конца а иногда всё нормально
    вот пример ошибки
    Err=4000 Error=Ошибка Notes: Bitmap checksum is incorrect

    И это только по 8.5 клиенту если в 6.5 подписывать то видно что он порой молча запускает чек базы
     
  4. ToxaRat

    ToxaRat Чёрный маг
    Lotus team

    Регистрация:
    6 ноя 2007
    Сообщения:
    3.047
    Симпатии:
    18
    вот думаю может на клиенте есть параметр типа NSF_BUFFER_POOL_SIZE и если его отключить он не будет кешить и тем самым реплики будут создаваться более коректные?
     
  5. rinsk

    rinsk Lotus team
    Lotus team

    Регистрация:
    12 ноя 2009
    Сообщения:
    799
    Симпатии:
    78
    Может поможет:

    Код (Text):
    Type DBREPLICAINFO
    ID As TIMEDATE 'ID that is same for all replica files
    Flags As Integer 'Replication flags
    CutoffInterval As Integer 'Automatic Replication Cutoff
    Cutoff As Double 'Replication cutoff date
    End Type


    Function MakeReplica(db As notesdatabase,srv As String,filepath As String)
    Dim dbhandle As Long
    Dim retNoteID As Long
    Dim noteClass As Long
    Dim replInfo As DBREPLICAINFO
    Dim replID1 As Long
    Dim replID2 As Long
    Dim rc As Integer
    Call db.CreateCopy(srv,FilePath)
    rc = W32_NSFDBOPEN(db.FilePath, dbhandle)
    rc = W32_NSFDBREPLICAINFOGET(dbhandle, replInfo)
    rc = W32_NSFDBCLOSE(dbhandle)
    'replID1 = replInfo.ID.Innards(0)
    'replID2 = replInfo.ID.Innards(1)
    rc = W32_NSFDBOPEN(filepath, dbhandle)
    'replInfo.ID.Innards(0) = replID1
    'replInfo.ID.Innards(1) = replID2
    'replInfo.Cutoff=0
    rc = W32_NSFDBREPLICAINFOSET(dbhandle, replInfo)
    rc = W32_NSFDBCLOSE(dbhandle)
    End Function
     
Загрузка...

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