在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
这个命令可以把已经标记为软删除状态的文档恢复为正常的状态。
发表评论
-
Notes 和 Domino 已知限制
2008-01-13 10:11 806Notes 和 Domino 已知限制 功能测试 限制数据库的 ... -
TinyMCE与Domino集成
2008-02-03 12:27 802TinyMCE与Domino集成一:TinyMCE简介 Tin ... -
domino server端的Notes.ini详解
2008-02-19 08:46 1073Web代理监控与调式问题 Web代理在服务器的执行优先 ... -
Lotus开发之Lotus Notes中域的验证
2008-03-10 11:41 1333一:介绍 Lotus中的域主要有以下的类型:文本,日 ... -
以Ajax方式显示Lotus Notes视图的javasript类库----NotesView2
2008-03-28 20:52 729一:简介 NotesView2是一个使用javascript开 ... -
[转载]资深程序员点评当前某些对Lotus Domino 的不实评论
2008-04-09 13:30 1040实现机关办公自动化工作需要计算机技术的支持 ... -
Undokumentierte @Formeln/LotusScript im Lotus Notes Client/Server
2008-05-16 17:29 1239Erstellung von Replik-IDs mitt ... -
操作Domino数据库的设计元素
2008-05-27 15:46 1041在Domino的数据库中有数据文档和设计文档两种文档。设计文档 ... -
开发可复用的从Domino中导出数据到Excel的类
2008-08-08 16:13 1038在domino开发中我们不可避免的要和报表打交道,一般就是生成 ... -
Lotus开发基本性能优化
2008-08-09 14:31 514一:一般的原则1. 视图 ... -
如何开发Domino中的WebService
2008-11-26 21:45 1230在domino中写webservice可以 ... -
Notes中几个处理多值域的通用函数
2008-12-29 14:21 6851.查找出查找内容在多值域中的索引值getItemIndex( ... -
Lotus开发性能优化
2009-06-23 21:30 1007之前也总结过一篇关于 ...
相关推荐
Domino数据库浏览器是一个小工具,可以用来浏览Lotus Domino数据库文件中(或独立的NSF文件中)的所有文档数据,并将其导出。本软件非常适合于需要将老DOMINO上的信息和数据转移到新系统中的企业。借助于本工具,...
一个小工具,可以用来浏览NSF(Domino数据库)文件中的所有文档数据,并将其导出。可以浏览Domino服务器上的所有文档,也可以打开浏览独立的NSF文件。 V2.0版修正了打开某些库文件报错的问题,完善了导出功能,能够...
Lotus Domino 数据库ACL详解,Lotus Domino 数据库ACL详解Lotus Domino 数据库ACL详解
Lotus Domino数据浏览导出工具。可以连接Domino server服务器,也可以打开独立的NSF库文件。可以浏览和导出所有文档,可以分离导出其中的附件和RTF域中图片等信息。非常适合企业从旧的Lotus系统往新的信息系统转移...
通过该文档,使得读者能够了解到使用LOTUS DOMINO应用开发,数据库性能受到影响时,如何来进行数据库性能调优
domino数据库存取控制列表(acl)的各种使用权限管理
用Java 操作Domino 数据库例子
本软件可以恢复nsf的隐藏设计,各位可以下下来试试看。
Domino 备份的脚本 ,修改一下里面的路径,新建一个定时任务,就可以每天晚上自动备份Domino 服务的Data目录了。 如果服务停止失败,则程序强制终止domino进程哦。尽量避免无效备份!
java访问domino的主要方法介绍,多种session的获取方式
domino数据库的设计之域的创建,domino是IBM收购莲花公司之后新开发的domino6.5
介绍Domino数据库的ACL的知识
基础DB实例参考 供基础者学习,应该有帮助的
lotus domino 数据库隐藏设计明细教程
domino数据库与关系型数据库的数据交互研究
Domino数据库存取控制列表(ACL)基本知识.pdf
可以查看nsf文件等domino数据
domino数据库与关系型数据库的数据交互研究.pdf
Domino数据库-学习PPT课件.ppt