• 中文

    注册试用
  • 新闻活动

    我们提供Salesforce CRM的信息,为您的大数据提供判断依据。

    重磅,Salesforce Data Loader 常见的6个错误及其避免方法!

    2024-12-13

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

    Salesforce 组织中的一切都与数据有关。管理这些数据需要耐心和对细节的关注。虽然 Salesforce 的 Data Loader 是批量导入、导出、更新或删除记录的强大工具,但它也有自己的一系列挑战。尽管很方便,但用户经常会遇到可能破坏其数据管理过程的错误。

     

    在本文中,我们将介绍 6 种最常见的 Data Loader 错误以及如何排查这些错误。您可能会看到一个反复出现的主题是,这些错误通常归结为一件事:确保数据是干净和做好准备的。

     

    1.缺少必填字段:

     

    使用 Data Loader 时最常见的错误之一是数据集中缺少必填字段。Salesforce 对象通常有必填字段(如 Account Name、Opportunity Stage 或 Email),未能在导入文件中包含这些字段将导致错误消息。

     

    我在组织中的 Account 对象上有一个名为 “Number of Employees” 的自定义字段。在保存记录之前需要一个值,因此我尝试导入一些具有以下数据集的记录(有意在其中一行中将“Number of Employees”留空)。

     

     

     

     

     

     

    除TechSmart之外,其余记录均已成功导入(如我所料!错误如下:)

     

     

     

     

    为了避免这些错误,请确保在运行 Data Loader 之前,您已经为正在使用的对象标识了所需的字段。一种简单的方法是在 Schema Builder 中查看对象。进入 Setup > Schema Builder ,选择要导入的对象。

     

    带有红色竖线的字段是必填字段。确保您的数据集包含它们,并且正确填充了 Owner ID 或 Record Type 等字段(这些字段通常是必需的,但被忽略了)。

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

    2.字段值无效:

     

    Salesforce 根据字段类型(例如:选项列表、日期、数字等)验证输入。上传具有无效值或格式的数据可能会导致错误,或者根本无法导入数据。例如: 

     

    • 数字字段中的文本

    • 日期格式不正确

    • 输入使用逗号作为千位分隔符的 Number 字段

     

    当我尝试在名为“Years In Operation”的自定义数字字段中输入值“twenty”时,出现了以下错误,该字段只接受数字字符和最多三位数字。

     

     

     

     

     

    当您的导入文件尝试输入带有逗号作为千位分隔符的数值时,您也可能会收到错误:Invalid Number (“<Field Name>:invalid number:<Number Value>”)例如,在 .csv 文件中,10000可能被键入为 10,000。这可能会变得棘手,因为有时错误不会出现。导入后,它将显示为成功,但当您在 Salesforce 中检查记录时,该值实际上并未更新。

     

    我尝试在.csv 文件中使用以下内容来更新一些Account 记录,并有意在 Number of Employees 自定义字段中使用“10,000”作为值。

     

     

     

     

     

     

     

     

    操作结果是“成功”的,但当我查看Salesforce 中的Account记录时,Number of Employees 字段仍然是空白的:

     

     

     

     

     

     

     

     

     

     

     

    通过始终根据字段类型检查数据来避免这些情况。确保日期遵循正确的格式,并且文本/数字字段不包含任何不允许的字符。

     

    另一个在选项列表中特别常见的错误是 “bad value for restricted picklist field”。当您尝试导入到选项列表字段的值不是该字段的选项列表值之一时,会发生这种情况。下面是一个简单的示例:

     

    在我的组织中,有一个名为 “Account Status ”的自定义选项列表字段,它有四个值:Customer、Equipment Only 、Permanent Closed  和 Inactive 。

     

    我试图使用以下数据集来更新三条记录的 Account Status,有意在其中一行上使用“Equipment”而不是“Equipment Only”。

     

     

     

     

     

     

     

    以下是此操作导致的错误:

     

     

     

    因此,吸取了经验教训:对于选项列表,请确保值与 Salesforce 中的选项列表允许的选项完全匹配。我知道有些人采取了简单的方法,即取消选中他们的选项列表字段上的“将选项列表限制为值集中定义的值”设置,以便更新操作顺利进行。我不建议取消对 picklist 字段的限制,因为这将允许其他数据输入,从长远来看可能会导致数据混乱。

     

    这首先消除了使用选项列表字段的感觉!除非您真的希望选项列表是可编辑的,并且您的用户能够输入除值集中的值之外的其他值,否则请保持启用限制,并确保在尝试数据导入之前,先在 Salesforce的选项列表值集中添加任何新值。

     

    此外,请注意,记录类型和所有者字段必须输入或用其ID标识,而不是用其名称标识。否则,你会得到一个错误。

     

    My Account 对象有两种记录类型:Business 和 Customer。我尝试使用以下数据集来更新记录,并有意在其中一行上使用记录类型名称“Business”而不是 ID 0123t0000013sSyAAI。

     

     

     

     

     

     

    Acme和salesforce.com的更新很成功,但我在Global Media上收到了预期的错误:

     

     

     

     

     

    在 Setup 中访问记录类型或所有者 ID 时,您可以在 URL 栏中找到它。

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

    如果您试图在相关记录的查找字段中输入值,并且您指定的 ID 是针对不正确的对象,也可能会出现这些错误 - 因此也要小心!

     

    3.重复记录错误:

     

    重复数据在导入过程中可能会导致严重的问题,特别是如果您的组织中没有设置重复数据删除策略。试图加载已经存在的记录(基于唯一标识符,如Email或自定义唯一字段)可能会导致系统中出现错误或重复记录。

     

    我知道导入后,您始终可以在组织中进行重复数据删除,但从一开始就防止重复不是更好吗?这里有一个示例:

     

    我知道 Account 对象有标准的 Account Number 字段,但是在我的组织中,我有一个设置为 Unique 的自定义 Account Number 字段。这意味着我组织中的每条 Account 记录在此字段中都必须具有唯一值。

     

     

     

     

     

     

     

     

     

     

     

     

     

    现在,我有一个 Account Number 设置为 11 的现有 Account 记录:

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

    这是我试图使用以下数据集进行更新的过程。请注意,我正在尝试更新ABKD股份有限公司的账号为11,与上面的Kwasson Bakery相同。

     

     

     

     

     

     

     

     

    正如预期的那样,结果返回了 2 次成功和 1 次错误:

     

     

     

     

     

    这个错误向我们显示了您组织中重复记录的 ID,使我们找到了 Kwasson Bakery。要解决该问题,请访问现有记录并将数字更新为其他内容,或者将您尝试在数据集中导入/更新的数字更改为组织中尚不存在的数字。

     

    为了避免重复记录或与此相关的Data Loader错误,请事先使用Excel的“删除重复项”功能(这对于可能具有重复值的大型数据集非常有用)或通过运行Salesforce报告来识别已有的记录,从而预先对数据进行重复数据删除

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     4.字段映射问题:

     

    Data Loader 过程中不正确的字段映射是一个常见的麻烦来源。例如,您可能会不小心将错误的列映射到 Salesforce 字段,可能会导致记录中的数据无效或丢失。

     

    在开始上传之前,通过仔细检查字段映射来避免这种情况。随身携带一个映射文档是很有帮助的,特别是如果您经常使用类似的数据集。这确保了一致性并避免了手动映射中的人为错误。

     

    在映射阶段,您可以通过单击 Data Loader 中的 “Save Mapping” 来制作映射文档。

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     这会将映射保存为.sdl文件,您可以保存并加载该文件,以便下次处理类似记录时使用。然后,您只需单击“选择现有地图”。

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

    如果在 Data Loader 设置中启用了“使用批量 API”,并且您跳过了字段映射步骤,可能会收到以下错误:

     

     

     

     

     

     

    确保至少有一个字段被映射,或者您没有跳过字段映射来避免这种情况!

     

    5.关系导入错误:

     

    在 Salesforce 中处理关系(例如lookup或Master-Detail字段)需要特别注意记录之间的父子关系。如果您尝试导入子记录而不识别其相关的父 ID,则可能会遇到错误。例如:

     

    我的组织中有一个名为 Project 的自定义对象,它有一个主从字段,用于查找 Account。这是我尝试导入三条 Project 记录的数据集,其中一行在 Account 字段上故意留空,用于标识项目的父 Account。

     

     

     

    正如预期的那样,Project  1 和Project  2 已成功导入,但Project  3 显示以下错误:

     

     

     

     

     

     

     

    为避免这种情况,请确保在尝试导入子记录之前具有正确的父记录 ID。您可以事先使用 Data Loader 导出父记录 ID,或者如果您只处理少数记录,则可以从 Salesforce 中的记录 URL 获取父记录 ID。

     

    6.权限和访问错误:

     

    有时,Data Loader 进程失败不是因为数据问题,而是因为在 Data Loader 中运行该进程的用户缺少必要的权限。这可能包括缺少对对象、字段级安全性、共享设置的访问权限,或缺少对所分配的记录类型的访问权限,最终阻止更新。下面是一个示例:

     

    如前所述,我的Account对象有两个记录类型:Business和Customer。但是,我被分配到一个只分配了Business记录类型的配置文件。

     

     

     

     

     

     

    下面是我的数据集,用于尝试将Customer记录类型分配给salesforce.com帐户的更新操作:

     

     

     

     

     

     

     

    正如预期的那样,两个 Business 账户已成功更新,而我尝试更新到 Customer 的第三个账户失败,因为我无权访问 Customer 记录类型。

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

    下面是另一个显示访问权限不足的示例。我的配置文件具有读取访问权限,但没有自定义项目对象上的 Approver 字段的编辑访问权限。

     

     

     

     

     

     

     

     

     

     

     

     

     

     

    我将尝试使用以下数据集通过 Data Loader 更新现有项目记录的审批者:

     

     

     

     

     

     

     

     

     

    正如预期的那样,此数据集没有成功。这两行都导致了错误,因为它们都试图更新我没有编辑权限的字段。

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

    因此,在开始数据加载之前,请确保对对象及其字段具有正确的权限。如果出现错误,请将批量大小减小到 1,以便 Data Loader 可以识别并具体显示哪些行有问题。然后,尝试访问组织内的这些记录,以确定根本原因以及您无法访问的具体内容。您可以在 Data Loader 设置中减小批次大小。

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

    除了检查权限之外,还有一个技巧是确保相关用户处于活动状态,因为您可能正在尝试更新非活动用户拥有的记录。在这种情况下,请与管理员合作,在组织中启用 Create Audit Fields(创建审计字段)。

     

    - end - 

     

    关于翼攀

     

    上海翼攀信息科技有限公司简称“翼攀”(slipstream),是一家基于Salesforce.com,为企业提供按需定制的CRM(客户关系管理)软件服务供应商,提供专业的Salesforce咨询、实施、培训、运维等服务。