2009-08-18 40 views

回答

1

你不能。通過API獲取已刪除記錄的唯一方法是使用queryAll,而DataLoader不會使用queryAll。

(對不起,這裏復活。)

+0

此答案不再正確。請參閱下面的其他答案。 – Guy 2016-09-06 14:40:56

0

嘗試extractextract_allhard_delete

我希望這不是遲到。

+0

可能爲時已晚。 – Craigy 2012-08-09 17:27:59

0

使用系統日誌中的幾行Apex代碼將其折回。例如:

Account[] a = [select id from Account where isDeleted=true ALL ROWS]; 
undelete a; 
system.debug(a); 

這應該工作,只要你不使用emptyRecycleBin()(這仍然會返回查詢結果,但不會允許恢復刪除的記錄將現在被標記爲物理刪除)。從USER_DEBUG結果中獲取a的一些ID以確認它是否有效。

5

檢查文檔:https://na7.salesforce.com/help/doc/en/salesforce_data_loader.pdf

如果使用GUI版本V20或以上,你就必須導出所有按鈕。

從命令行版本,process-config.xml文件應該將process.operation屬性值設置爲等於「extract_all」(文檔狀態爲「全部提取」,但不起作用)。

使用上述任何一個選項都會提取軟刪除的記錄,並允許您在IsDeleted = true或false上進行過濾。 (無論使用何種過濾器,都可以包含此過濾器,但不使用上述選項,IsDeleted = true將始終返回零記錄)。

希望有所幫助。

P.S.在Apex,它略有不同。您的SOQL查詢將是[從IsDeleted = false的所有行中選擇帳戶Id]'all rows'appendage是'extract all'的Apex等效項。

2

在的DataLoader,使用導出所有按鈕,而不是EXPORT按鈕

這使您可以訪問已刪除&存檔記錄。

0

有三種方法可以做到這一點。

  • 回收站。在回收站中將該選項更改爲所有回收站。這就像軟刪除我們可以得到的記錄。如果您沒有從回收站取得記錄
  • 工作臺。在工作臺中選擇soql查詢和你需要的對象,並創建一個像這個例子一樣的查詢。

    SELECT Id,Name,AccountId,Isdeleted,CreatedDate,StageName 
    FROM Opportunity where isdeleted =true 
    

    在本節中,我們沒有得到記錄,我們知道機會記錄的信息。

  • Dataloader。它也像工作臺一樣工作,您可以查看記錄的信息。選擇exportall選項,並選擇所需的字段,並把過濾器像刪除是真實的。