我有一些文件。如果我尝试打开文档然后显示错误,例如“字段太大32k或视图列和选择公式太大”
每当我尝试删除文档时,我都会遇到同样的错误。我无法删除。
好的,我们可以尝试通过后端获取文档,但在那里,我无法获取文档句柄。
无论我尝试搜索什么,文档集合数量都是0。
重要: - 我使用的是Notes 6.5.2。
先谢谢,
答案 0 :(得分:2)
您可以创建数据库的新副本,不会复制损坏的文档。您也可以尝试使用Ytria的扫描工具。
答案 1 :(得分:1)
“好的,我们可以尝试通过后端获取文档,但在那里,我无法获取文档句柄。”
您可以发布您正在使用的代码吗? 我不明白为什么以下代码不起作用:
Dim session As New NotesSession
Dim db As NotesDatabase
Dim col As NotesDocumentCollection
Dim doc As NotesDocument
Dim deleteDoc List as NotesDocument
Set db = session.Currentdatabase
'*** Get collection of selected documents
Set col = db.UnprocessedDocuments
'*** Loop through selected documents
Set doc = col.GetFirstDocument
Do Until doc Is Nothing
'*** Add document to list to delete later
Set deleteDoc(doc.UniversalID) = doc
Set doc = col.GetNextDocument(doc)
Loop
'*** Delete all documents in list from database
ForAll d in deleteDoc
Call d.Remove(True)
End ForAll
答案 2 :(得分:1)
也许您可能希望将导致您头痛的字段更改为富文本,因为富文本字段的限制略大于普通文本字段。富文本字段的限制仅受可用磁盘空间限制,最高可达1GB
答案 3 :(得分:0)
您是否尝试过简单地删除损坏文档上的问题字段,然后删除该文档?您可以尝试执行以下操作:
1-创建一个代理集,使用以下公式在选定文档上运行:
FIELD corruptfield := @DeleteField;
2 - 在视图中选择问题文档并运行代理
3 - 如果没有错误输出,则尝试从视图中手动删除文档。
答案 4 :(得分:0)
这对我有用:
1 /使用DocViewer获取文档的注释ID
可能有很多其他方法可以获得NoteID,但是当我尝试通过 DocViewer 发送文档时,它就出现了,这是众所周知的免费工具
https://www.openntf.org/main.nsf/project.xsp?r=project/Document%20Viewer/summary
2 /使用Notes C API删除文档
我按照 pstr 的建议,很快找到了这个脚本
http://www.nsftools.com/tips/ApiStublessDelete.lss
只需将它瞄准好的数据库,使用Note ID,它就可以实现!!
我尝试更改脚本以便不删除删除存根(我希望删除将在我的群集和本地副本上复制)。但是你会回到32k错误!因此,您必须在每个副本上应用删除(或者当然重新创建副本)。