- 相關(guān)推薦
Lotus復(fù)制與保存沖突的解決方法
運(yùn)行在服務(wù)器上以及有多個(gè)復(fù)本的數(shù)據(jù)庫(kù)難免會(huì)出現(xiàn)復(fù)制與保存沖突的情況。如何處理這種情況是所有Notes管理員和設(shè)計(jì)者都要面對(duì)的問(wèn)題。下面小編準(zhǔn)備了關(guān)于Lotus復(fù)制與保存沖突的解決方法,提供給大家參考!
復(fù)制與保存沖突可由以下原因造成:
在兩次復(fù)制之間,如果有兩個(gè)用戶同時(shí)編輯或多個(gè)用戶編輯了不同數(shù)據(jù)庫(kù)復(fù)本上的相同文檔,就會(huì)出現(xiàn)復(fù)制沖突。
如果有兩個(gè)或多個(gè)用戶同時(shí)編輯同一個(gè)數(shù)據(jù)庫(kù)的同一個(gè)文檔,則會(huì)出現(xiàn)保存沖突。
解決方法:
一、可以在表單屬性框中的基本付簽選中:“合并復(fù)制沖突”,并知底功能表單基本付簽中的版本選項(xiàng)。
二、在這里介紹一些和處理復(fù)制與保存沖突情況有關(guān)的方法與技巧:
1、創(chuàng)建列出所有沖突文檔的視圖:(VewConflict)
沖突文檔都包含一個(gè)名為“$Conflict”的域,因此可以用下面的試圖選擇公式列出所有沖突文檔。
SELECT @ISAvailable(“$Conflict”)
2、將沖突文檔與主文檔同屏顯示以便比較兩者之間的差別:
由于沖突文檔被保存為主文檔的答復(fù)文檔,在打開(kāi)沖突文檔以后使用快捷圖標(biāo)“顯示/隱藏預(yù)覽主文檔”,主文檔就會(huì)被顯示在預(yù)覽窗格中了。
3、附加菜單命令比較兩個(gè)文檔之間的差別:
在Notes.ini文件中加入下面一行:
AddInMenus=C:\Notes\nntediff.dll
然后重起Notes,就回發(fā)現(xiàn)“操作”菜單中多了一項(xiàng)“Different of 2 document”.
4、找到?jīng)_突文檔的主文檔:
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=s.currentdatabase
set doccol.dbcur.unprocesseddocuments
set doc=doccol.getfirstdocument
while not(doc is nothing)
set topdoc=gettopdoc(doc)
call topdoc.putinfolder(Foldername)
set doc=doccol.getnextdocument(doc)
wend
End Sub
Function GetTopDoc(DocSource as notesDocument) as NotesDocument
dim doctop as notesdocument
dim strUNID as String
set doctop=docsource
strUNID=doctop.ParentDocumentUNID
Do While (strUNID<>“”)
set DocTop=dbCur.GetDocumentByUNID(StrUNID)
strUNID=doctop.ParentdocumentUNID
loop
set GetTopDoc=doctop
End Functiong
5、將沖突文檔保存為主文檔
選種若干沖突文檔后運(yùn)行下面代理。這個(gè)代理把選種的沖突文檔保存為主文檔。
dim s as new notessession
set db=s.currentdatabase
set dc=db.unprocessedDocuments
set doc=dc.getfirstdocument
$conflict是沖突文檔的標(biāo)志
call doc.removeItem(“$Conflict”)
得到?jīng)_突文檔的主文檔
if doc.isResponse then
Set Parent=db.GetDocumentByUNID(doc.ParentDocumentUNID)
if parent.IsResponse then
如果文檔是答復(fù)的答復(fù)
dim GrandParant as Notesdocument
Set GrandParant=db.GetDocumentByUNID(Parent.ParentDocumentUNID)
call doc.MakeResponse(GrandParent)
else
$Ref 域是答復(fù)文檔的標(biāo)志
call doc.RemoveItem(“$Ref”)
end if
end if
call doc.save(True,True)
SP:
當(dāng)使用LS在后臺(tái)創(chuàng)建文檔的時(shí)候,表單中“合并復(fù)制沖突”選項(xiàng)無(wú)效,在文檔中加入下面代碼:
doc.$Conflicts=“1”
【Lotus復(fù)制與保存沖突的解決方法】相關(guān)文章:
因沖突引起的網(wǎng)絡(luò)故障解決方法03-30
IBM Lotus認(rèn)證試題03-08
IBM Lotus認(rèn)證考試途徑06-16
2016年IBM Lotus認(rèn)證試題題庫(kù)(附答案)03-07
如何保存茯茶-茯茶的保存方法03-27
Lotus Domino在辦公自動(dòng)化領(lǐng)域的強(qiáng)勢(shì)發(fā)展03-31
如何保存油畫(huà)06-07
咖啡怎么保存05-24