2012-10-04 97 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的錯誤!因此,您必須將刪除應用於每個副本(或重新創建副本)。