當前位置:才華齋>IT認證>IBM認證>

Lotus複製與儲存衝突的解決方法

IBM認證 閱讀(8.84K)

執行在服務器上以及有多個複本的資料庫難免會出現複製與儲存衝突的情況。如何處理這種情況是所有Notes管理員和設計者都要面對的問題。下面小編準備了關於Lotus複製與儲存衝突的解決方法,提供給大家參考!

Lotus複製與儲存衝突的解決方法

  複製與儲存衝突可由以下原因造成:

在兩次複製之間,如果有兩個使用者同時編輯或多個使用者編輯了不同資料庫複本上的相同文件,就會出現複製衝突。

如果有兩個或多個使用者同時編輯同一個資料庫的同一個文件,則會出現儲存衝突。

  解決方法:

一、可以在表單屬性框中的基本付籤選中:“合併複製衝突”,並知底功能表單基本付籤中的版本選項。

二、在這裡介紹一些和處理複製與儲存衝突情況有關的方法與技巧:

1、建立列出所有衝突文件的檢視:(VewConflict)

衝突文件都包含一個名為“$Conflict”的域,因此可以用下面的'試圖選擇公式列出所有衝突文件。

SELECT @ISAvailable(“$Conflict”)

2、將衝突文件與主文件同屏顯示以便比較兩者之間的差別:

由於衝突文件被儲存為主文件的答覆文件,在開啟衝突文件以後使用快捷圖示“顯示/隱藏預覽主文件”,主文件就會被顯示在預覽窗格中了。

3、附加選單命令比較兩個文件之間的差別:

在檔案中加入下面一行:

AddInMenus=C:Notes

然後重起Notes,就回發現“操作”選單中多了一項“Different of 2 document”.

4、找到衝突文件的主文件:

Sub Click(Source as Button)

Const FolderName=“ReplicationConFlict”

dim s As New NotesSession

dim doccol as NotesDocumentCollection

dim doc as Notesdocument,topdoc as notesdocument

dim folder as notesView

set dbcur=entdatabase

set ocesseddocuments

set doc=irstdocument

while not(doc is nothing)

set topdoc=gettopdoc(doc)

call nfolder(Foldername)

set doc=extdocument(doc)

wend

End Sub

Function GetTopDoc(DocSource as notesDocument) as NotesDocument

dim doctop as notesdocument

dim strUNID as String

set doctop=docsource

strUNID=ntDocumentUNID

Do While (strUNID<>“”)

set DocTop=ocumentByUNID(StrUNID)

strUNID=ntdocumentUNID

loop

set GetTopDoc=doctop

End Functiong

5、將衝突文件儲存為主文件

選種若干衝突文件後執行下面代理。這個代理把選種的衝突文件儲存為主文件。

dim s as new notessession

set db=entdatabase

set dc=ocessedDocuments

set doc=irstdocument

$conflict是衝突文件的標誌

call veItem(“$Conflict”)

得到衝突文件的主文件

if sponse then

Set Parent=ocumentByUNID(ntDocumentUNID)

if sponse then

如果文件是答覆的答覆

dim GrandParant as Notesdocument

Set GrandParant=ocumentByUNID(ntDocumentUNID)

call Response(GrandParent)

else

$Ref 域是答覆文件的標誌

call veItem(“$Ref”)

end if

end if

call (True,True)

SP:

當使用LS在後臺建立文件的時候,表單中“合併複製衝突”選項無效,在文件中加入下面程式碼:

doc.$Conflicts=“1”