1

有谁知道如何从 Apex 数据加载器或除 Web 服务之外的 Salesforce 中检索已删除的记录数据吗?

4

6 回答 6

5

检查文档: https ://na7.salesforce.com/help/doc/en/salesforce_data_loader.pdf

如果使用 GUI 版本 v20 或更高版本,您将拥有 Export All 按钮。

在命令行版本中,process-config.xml 文件应该将 process.operation 属性值设置为等于“extract_all”(文档声明“Extract All”,但这不起作用)。

使用上述任一选项将提取软删除记录,并允许您过滤 IsDeleted = true 或 false。(无论如何,您都可以包含此过滤器,但不使用上述选项,IsDeleted=true 将始终返回零记录)。

希望有帮助。

PS 在 Apex 中,情况略有不同。您的 SOQL 查询将是 [Select Id from Account where IsDeleted=false all rows] “所有行”附件是“提取所有”的 Apex 等价物。

于 2011-11-11T16:12:30.570 回答
3

在 Dataloader 中,使用EXPORT ALL按钮,而不是EXPORT按钮

这使您可以访问已删除和存档的记录。

于 2013-11-14T11:22:36.853 回答
1

你不能。通过 API 获取已删除记录的唯一方法是使用 queryAll,而 DataLoader 永远不会使用 queryAll。

(对不起这里的复活。)

于 2010-12-29T00:19:22.900 回答
0

试试extract,,,。extract_all_hard_delete

我希望还不算晚。

于 2011-06-28T16:49:40.810 回答
0

在系统日志中使用几行 Apex 代码回滚它们。例如:

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

只要您不使用,这应该可以工作emptyRecycleBin()(它仍将返回查询结果,但不允许取消删除,因为记录现在将被标记为物理删除)。从 USER_DEBUG 结果中获取一些 ida以确认它有效。

于 2011-09-02T10:48:37.993 回答
0

有三种方法可以做到这一点。

  • 回收站。在回收站中将选项更改为所有回收站。就像软删除一样,我们可以获得记录。如果你没有从回收站得到你的记录
  • 工作台。在工作台中选择 soql 查询和您需要的对象,然后创建一个像这个例子一样的查询。

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

    在这部分我们没有得到记录我们知道机会记录的信息。

  • 数据加载器。它也像工作台一样工作,您可以检索记录的信息。选择 exportall 选项并选择必填字段并放置一个过滤器,如已删除为 true。
于 2016-01-27T21:05:15.833 回答