关于Domino数据库的软删除的详细方法

在 Domino的数据库属性的 “高级”附签(选择文件->数据库->属性),选中“允许软删除”,这样我们就启用了软删除功能,当一个文档没有删除的时候我们可以使用 NotesDatabase的GetDocumentByID(NoteID)和GetDocumentByUNID(UNID)方法来得到该文档,如果 我们将该文档软删除后,我们在使用GetDocumentByUNID来获取该文档就会报如下错误:

---------------------------

[color=red]Invalid universal id (4091 ) at line 14[/color]

---------------------------

当然你使用GetDocumentByUNID获取硬删除和不存在的文档也是报同样的错误。

这时我们只能使用GetDocumentByUNID来得到该文档。我们可以使用NotesDocument的IsDeleted属性来判断该文档是否已经软删除。

当软删除过期后,文档就被硬删除了,这个时候文档的删除存根仍然存在。

当文档的存根都不在了,这个时候使用GetDocumentByID访问就会报4270的错误,下面是测试的代码:

 Sub Initialize()

On Error GoTo TrapError

Dim CurrentDB As NotesDatabase

Dim Doc As NotesDocument

Dim InvalidNoteID As Integer

Dim Session As New NotesSession

CurrentDB = Session.CurrentDatabase

InvalidNoteID = 0

'Set Doc = CurrentDB.GetDocumentByID ("15BB2" )

Doc = CurrentDB.GetDocumentByUNID("889D30CE3CEE82F2482575520009CB1E")

If InvalidNoteID = 0 Then

If Doc Is Nothing Then

Msgbox("Deletion stub")

ElseIf Doc.IsDeleted Then

Msgbox("Soft deletion")

Msgbox(doc.Subject(0))

Else

Msgbox("Active message")

Msgbox(doc.Subject(0))

End If

Else

Msgbox("No message")

End If

Exit Sub

TrapError:

Select Case Err

Case 4270

Msgbox("4270")

InvalidNoteID = 1

Resume Next

Case Else

Msgbox Error + " (" + Cstr (Err) + " ) at line " + Cstr (Erl)

End

End Select

End Sub


被删除的文档在它们的软删除过期之前都可以被恢复。直到数据库视图被刷新(通过点击F9键,选择视图->刷新,或者关闭数据库)之前,被标记软删除的文档不会出现在您的废纸篓文件中。

为了查看或者恢复这些被删除的文档,您需要在数据库中创建以下视图:

1.启动Domino Designer,打开要设置软删除的数据库

2. 在主菜单中,选择”创建“ -> “视图”

3.在 ”视图名称“ 中输入视图名称(可以给此视图赋予任何一个名称)

4. 在 “视图类型” 中选择 “共享,包含已删除的文档”

以上操作在数据库中创建一个可供用户查看所有软删除的文档。现在您可以访问标记为软删除的文档。

5. 为了恢复这些文档,创建一个操作/编辑标签/按钮或者代理来包含如下命令:

@UndeleteDocument

这个命令可以把已经标记为软删除状态的文档恢复为正常的状态。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值