`

关于Domino数据库的软删除

 
阅读更多

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

---------------------------
Invalid universal id (4091 ) at line 14
---------------------------

当然你使用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
这个命令可以把已经标记为软删除状态的文档恢复为正常的状态。

分享到:
评论

相关推荐

    java访问domino数据库.rar

    本压缩包“java访问domino数据库.rar”提供了关于如何利用Java来访问和操作Domino数据库的重要信息。下面将详细讨论Java与Domino集成的关键知识点。 1. **Java与Domino的集成**: - Java可以借助Lotus Domino的...

    Domino数据库浏览器V2.0

    一个小工具,可以用来浏览NSF(Domino数据库)文件中的所有文档数据,并将其导出。可以浏览Domino服务器上的所有文档,也可以打开浏览独立的NSF文件。 V2.0版修正了打开某些库文件报错的问题,完善了导出功能,能够...

    lotus Domino 数据库备份程序

    Lotus Domino 数据库备份程序是针对IBM Lotus Domino服务器的一项重要管理任务,确保数据的安全性和可恢复性。在IT环境中,定期备份是防止数据丢失的关键措施,尤其是在面临硬件故障、软件错误或恶意攻击时。本文将...

    用Java 操作Domino 数据库例子

    为了更好地集成Java应用程序与Domino数据库,IBM提供了Java API(ToolKit),允许开发者利用Java语言对Domino进行各种操作,如读取、更新、创建和删除文档等。本文将详细介绍如何使用Java操作Domino数据库,并提供一...

    domino数据库浏览器

    【标题】:“Domino数据库浏览器”是一款专门针对Lotus Domino环境设计的应用程序,它使得用户能够方便地查看和管理NSF(Notes Storage Facility)文件,这些文件是Lotus Domino数据库的基础。 【描述】:Lotus ...

    C++Qt操作Lotus Domino数据库 Lotus Domino C++连接Lotus Domino C++开发lotus

    C++Qt操作Lotus Domino数据库 Lotus Domino C++连接Lotus Domino C++快速开发Lotus Domino https://blog.csdn.net/weijia3624/article/details/139211714 这份代码稳定运行在多个项目中,请放心下载 C++ 操作 Lotus ...

    Lotus Domino 数据库ACL详解

    Lotus Domino 数据库ACL详解,Lotus Domino 数据库ACL详解Lotus Domino 数据库ACL详解

    Lotus Domino数据库浏览器V3.0

    Lotus Domino数据浏览导出工具。可以连接Domino server服务器,也可以打开独立的NSF库文件。可以浏览和导出所有文档,可以分离导出其中的附件和RTF域中图片等信息。非常适合企业从旧的Lotus系统往新的信息系统转移...

    如何优化LOTUS DOMINO数据库

    通过该文档,使得读者能够了解到使用LOTUS DOMINO应用开发,数据库性能受到影响时,如何来进行数据库性能调优

    Domino数据库浏览器 v3.6.zip

    Domino数据库浏览器是一个小工具,可以用来浏览Lotus Domino数据库文件中(或独立的NSF文件中)的所有文档数据,并将其导出。本软件非常适合于需要将老DOMINO上的信息和数据转移到新系统中的企业。借助于本工具,...

    两个domino数据库破解软件

    本软件可以恢复nsf的隐藏设计,各位可以下下来试试看。

    domino数据库存取控制列表(acl)

    在深入探讨Domino数据库存取控制列表(Access Control List,简称ACL)的使用与权限管理之前,我们首先需要明确ACL在Domino环境中的核心地位。Domino,原名为Lotus Notes/Domino,是由IBM开发的一款企业级协作平台,...

    domino数据库隐藏设计,隐藏代理,隐藏ls库

    ### Domino 数据库隐藏设计概述 在 Domino 开发环境中,数据安全性是至关重要的。为了保护数据库设计及其中包含的敏感信息,Domino 提供了一系列高级功能,包括但不限于隐藏设计元素(如表单、视图和代理)、隐藏 ...

    编程实现notes domino数据库的访问

    综上所述,这个主题涵盖了使用编程语言(尤其是LotusScript和Java)与Lotus Domino数据库进行交互的各种技术,包括创建、读取、更新和删除数据,以及监控服务器状态。通过博客、源代码示例和IBM Redbook章节,学习者...

    lotus domino 数据库隐藏设计明细教程

    在Lotus Domino数据库中,隐藏设计元素是一种管理数据库设计的有效方式,它可以帮助开发人员和管理员保护敏感信息,防止非授权用户修改或查看特定的设计元素。本教程将深入探讨如何实现Lotus Domino数据库的隐藏设计...

    domino数据库与关系型数据库的数据交互研究.pdf

    《Domino数据库与关系型数据库的数据交互研究》 Domino数据库,源于美国Lotus公司的群组工作软件Lotus Notes/Domino,是一款基于Internet/Intranet技术的群件系统,支持客户机/服务器(Client/Server)和浏览器/...

    domino数据库的设计之域的创建

    domino数据库的设计之域的创建,domino是IBM收购莲花公司之后新开发的domino6.5

    Domino数据库存取控制列表

    在Lotus Domino系统中,数据库存取控制列表(ACL)是管理用户访问权限的核心工具。它决定了用户对特定数据库的访问级别,确保了数据的安全性和私密性。本文将深入探讨ACL的结构、功能和各个存取级别的详细权限。 ...

    ConnDB.rar_domino数据库

    《Lotus Domino与关系型数据库的连接实例——ConnDB.cpp》 在信息技术领域, Lotus Domino 是一款由IBM开发的企业级协作平台,它以其强大的电子邮件、文档管理、工作流和应用程序开发功能而闻名。与此同时,关系型...

    domino 数据库

    基础DB实例参考 供基础者学习,应该有帮助的

Global site tag (gtag.js) - Google Analytics