关于Domino数据库的软删除

php中文网
发布: 2016-06-07 15:11:16
原创
1071人浏览过

http://carysun.javaeye.com/blog/463228 在Domino的数据库属性的 高级 附签(选择文件-数据库-属性),选中允许软删除,这样我们就启用了软删除功能,当一个文档没有删除的时候我们可以使用NotesDatabase的GetDocumentByID(NoteID)和GetDocumentByUNID(U

http://carysun.javaeye.com/blog/463228

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

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

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

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

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

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

云网OA
云网OA

采用JSP开发的办公自动化产品、基于B/S结构,运行环境:JDK v1.5、Tomcat v5.5、MySQL v4.1,三者均为以上版本其他相关内容:可视化流程设计: 流程支持串签、会签和分支流程,可以设置流程节点的修改、删除权限,并可指定流程中各个用户在表单中可以填写的域。智能表单所见即所得设计: 智能设计,自动在数据库中生成表格,方便优化程序 公共交流: 集论坛、博客、聊天室于一体文件柜:C

云网OA 0
查看详情 云网OA
<span>Sub </span>Initialize()
    <span>On Error GoTo </span>TrapError

    <span>Dim </span>CurrentDB <span>As </span>NotesDatabase
    <span>Dim </span>Doc <span>As </span>NotesDocument
    <span>Dim </span>InvalidNoteID <span>As Integer
    Dim </span>Session <span>As New </span>NotesSession

    CurrentDB = Session.CurrentDatabase

    InvalidNoteID = 0
    <span>'Set Doc = CurrentDB.GetDocumentByID ("15BB2" )
    </span>Doc = CurrentDB.GetDocumentByUNID(<span>"889D30CE3CEE82F2482575520009CB1E"</span>)

    <span>If </span>InvalidNoteID = 0 <span>Then
        If </span>Doc <span>Is Nothing Then
            </span>Msgbox(<span>"Deletion stub"</span>)
        <span>ElseIf </span>Doc.IsDeleted <span>Then
            </span>Msgbox(<span>"Soft deletion"</span>)
            Msgbox(doc.Subject(0))
        <span>Else
            </span>Msgbox(<span>"Active message"</span>)
            Msgbox(doc.Subject(0))
        <span>End If
    Else
        </span>Msgbox(<span>"No message"</span>)
    <span>End If
    Exit Sub

</span>TrapError:
    <span>Select Case </span>Err
        <span>Case </span>4270
            Msgbox(<span>"4270"</span>)
            InvalidNoteID = 1
            <span>Resume Next
        Case Else
            </span>Msgbox <span>Error </span>+ <span>" (" </span>+ <span>Cstr </span>(Err) + <span>" ) at line " </span>+ <span>Cstr </span>(Erl)
            <span>End
    End Select
End Sub
</span>
登录后复制

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

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

1.启动Domino Designer,打开要设置软删除的数据库
2. 在主菜单中,选择”创建“ -> “视图”
3.在 ”视图名称“ 中输入视图名称(可以给此视图赋予任何一个名称)
4. 在 “视图类型” 中选择 “共享,包含已删除的文档”
以上操作在数据库中创建一个可供用户查看所有软删除的文档。现在您可以访问标记为软删除的文档。

@UndeleteDocument
这个命令可以把已经标记为软删除状态的文档恢复为正常的状态。

最佳 Windows 性能的顶级免费优化软件
最佳 Windows 性能的顶级免费优化软件

每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。

下载
来源:php中文网
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
最新问题
开源免费商场系统广告
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号