【问题标题】:Why cannot I delete a Lotus Notes document?为什么我不能删除 Lotus Notes 文档?
【发布时间】:2014-03-07 16:10:55
【问题描述】:

在我的 Lotus Notes 代理中,我使用新表单(表单中带有富文本字段)临时创建了一些文档,并且在代码末尾,我有“Call TempDoc.Remove(True)”,当程序执行这行代码,我得到错误“Notes error: No documents were deleted”,然后我注释掉这段代码让文档保存在当前数据库中,所以我通过单击删除键手动删除了我的程序创建的那些文档,但我得到了同样的错误“没有文件被删除”,我在数据库 ACL 中具有带删除选项的管理员访问权限,

有人知道我为什么会出现这个错误吗?

顺便说一句,如果我使用默认表单而不是上面程序中使用的表单创建了一个新文档,那么我可以删除它。

那么,问题可能是:在notes数据库中创建的哪些类型的文档不能被带有Manager和Delete选项的id删除?

【问题讨论】:

  • 数据库脚本中的QueryDocumentDelete事件有代码吗?
  • 没有,我查过了,数据库脚本库中没有代码。
  • 我再次检查了代码,tempdoc确实保存了,但它保存为MIME类型,并且ContentType =“multipart”,不知道这是否导致问题,有什么想法吗?
  • 表单名称分配正确,我也可以从文档属性中看到表单名称项。表单非常简单,其中只有一个富文本“正文”字段。重新启动notes 客户端并不能解决问题。只有我的代理代码创建的文档有这个问题。 Querydocumentdelete 脚本库很干净,什么都没有。在其他任何地方都找不到。但我能说的一件事是:在我的代码中,在保存 tempdoc 之前,我设置了 session.ConverMime = True,不确定这是否是问题所在。
  • 如果我在下面的回答不能解决问题......我真的不认为 MIME 内容会进入其中。我的下一步是使用相同的表单手动创建一个文档,看看是否可以删除它。由于您说文档中没有其他字段,因此排除了我的下一个想法,即您被读者姓名字段阻止了。所以我的下一步是建议复制文档并将其粘贴到一个空的 NSF 中,然后尝试从该 NSF 中删除它。这将帮助您缩小范围,确定它是特定于文档的内容,还是特定于原始数据库的内容。

标签: lotus-notes lotus


【解决方案1】:

NotesDocument.Remove(true) 方法可能正在尝试执行“软删除”,但数据库可能不是用于软删除的 properly set up。如果您不关心软删除,请尝试使用NotesDatabase.RemovePermanently(true) 方法。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-06-27
    • 1970-01-01
    • 1970-01-01
    • 2018-12-01
    • 2013-11-04
    • 1970-01-01
    相关资源
    最近更新 更多