2012-10-04 85 views
1

我有一些文件。如果我尝试打开文档,那么它显示错误,如“字段太大32k或视图的列&选择公式太大”如何删除32k错误文档?

每当我尝试删除文档,我得到相同的错误。我无法删除。

好的,我们可以尝试通过后端获取文档,但在那里,我无法获取文档句柄。

无论我尝试搜索,则文档集合数为0

要点: - 我使用Notes 6.5.2。

由于事先

+0

你可以使用较少的文件创建一个视图,然后从那里删除? –

+0

你确定你没有任何预览模式或查询文档删除代码吗?我不认为物品多于32kb的删除文件应该是一个问题。 –

+1

我认为@dmytro是东西。如果预览窗格打开,即使只有几个像素,文档中的公式也会在选择视图中的文档时触发,并且可能会导致32k错误。确保窗格完全关闭。如果这不是问题,那么querydocumentscript事件脚本(在数据库脚本中)可能会抛出错误。 –

回答

2

您可以创建数据库的新副本,currupted文件不会被复制。您也可以尝试使用Ytria的ScanEZ工具。

+0

load compact -c也是如此,但我不记得该选项是否在R6中。 –

+0

任务紧凑和修复可能有帮助,但可能没有帮助。在使用其他方法之前尝试更糟糕。 – pstr

+0

是的,你是正确的,但我们在不同的国家保留更多的副本副本。问题是一台服务器上有我们无法打开或删除的文档。在其他一些服务器中,它没有该文档。我们需要删除32K错误文档。它有任何第三方工具吗?或者我们可以在脚本本身做到吗? – Ramkumar

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 
+0

您好我正在使用NotesView.GetDocumentByKey方法Code对所有文档都正常工作。这里如果我给UNID或NotesID。它引发无效的文档ID错误。我能够看到文件。但我无法获得文档的句柄。即使我看不懂那个文件。 – Ramkumar

1

也许你可能要改变导致你头疼,因为富文本字段中的极限富文本字段被稍微大一点,正常的文本字段。富文本字段的限制仅限于可用磁盘空间高达1GB

+0

谢谢,是的,我明白这个问题,为什么会发生?但我无法删除这些文件。 – Ramkumar

+2

这是因为受影响的字段处理的数据已经超过了它的限制。 请参阅IBM提供的解决方法: http://www-01.ibm.com/support/docview.wss?uid=swg21087474 – tikarasha

+0

您的信息非常丰富。但这对我没有帮助。因为我无法获取文档句柄。无论我尝试刷新或更新文档或通过后端计算文档。结果仍然没有。从IBM支持信息中,如何查找导致问题的项目而不查看文档属性?我想这个问题是因为一个Rich文本字段。来自IBM支持的富文本字段不会导致任何内容。我们也无法在视图栏中查看富文本数据。我的要求很简单,我需要删除文件。 – Ramkumar

0

您是否试图简单地删除损坏的文档上的问题字段,然后删除该文档?你可以尝试做如下:

1-创建设置为以下公式选定的文件运行代理:

FIELD corruptfield := @DeleteField; 

2 - 选择在视图中的一个问题文件和运行代理

3 - 如果没有出错,则尝试从视图中手动删除文档。

0

这里是我工作:

1 /获取与DocViewer

DOC的注意ID

可能有很多其他的方式来获得NoteID,接下来但它只是出现了,当我试图通过DocViewer,公知的免工具发送文档地注意到C API
https://www.openntf.org/main.nsf/project.xsp?r=project/Document%20Viewer/summary

2 /删除该文档

我按照pstr的建议,很快就找到了这个脚本 http://www.nsftools.com/tips/ApiStublessDelete.lss
只是把它瞄准好的数据库,用Note ID,它的确有窍门!

我试图改变脚本为了不删除删除存根(我希望删除将复制我的集群和本地副本)。但你回到32K的错误!因此,您必须将删除应用于每个副本(或重新创建副本)。