Pentaho salesforce使用externalID升级

Pentaho salesforce使用externalID升级,salesforce,pentaho,upsert,Salesforce,Pentaho,Upsert,我尝试使用upsert在salesforce中插入数据,对于一个使用ExternalId字段的字段,我尝试了许多组合,但都失败了…我得到了错误:语法应该是object:ExternalId/lookupField 你知道确切的语法是什么吗?请记住,我在表Account中插入了externalId字段,externalId字段也指Account对象:externalId/lookupField不太清楚,是吗。Pentaho密码中隐藏着一个秘密: // We use an exter

我尝试使用upsert在salesforce中插入数据,对于一个使用ExternalId字段的字段,我尝试了许多组合,但都失败了…我得到了错误:语法应该是object:ExternalId/lookupField


你知道确切的语法是什么吗?请记住,我在表Account中插入了externalId字段,externalId字段也指Account对象:externalId/lookupField不太清楚,是吗。Pentaho密码中隐藏着一个秘密:

        // We use an external key
        // the structure should be like this :
        // object:externalId/lookupField
        // where
        // object is the type of the object
        // externalId is the name of the field in the object to resolve the value
        // lookupField is the name of the field in the current object to update (is the "__r" version)
假设您正在填充Salesforce对象
Foo\uu c
,该对象有一个名为
Contact\uu c
的要联系的查找字段。然后,该查找字段的“关系名称”将是
Contact\uu r
。 在Contact上,假设您添加了一个名为
Legacy\u ID\u c
的外部ID,这就是您在填充
Foo\u c
时要使用的

Pentaho在模块字段列中需要的是:

Contact:Legacy_Id__c\Contact__r

斜线左侧的位告诉Pentaho要映射到哪个对象/外部id。在斜杠的右边,它告诉Pentaho要填写
Foo\uu c
上的哪个查找/关系。

在upsert过程中要使用的字段的API名称是什么?如果它是一个自定义字段,它将以u_c结尾。此字段应在Salesforce中标记为ExternalId,以便它具有检查您是否正在执行插入或更新所需的索引。该字段的名称为Primary\u Parent\u vod\u c,实际上,我想在salesforce中插入一个新帐户,其主要父帐户是系统中已经存在的帐户,但我不想使用该帐户的实际salesforce id,而是我们在数据库中使用的externalID。这是可以做到的?如果是,我想它应该有一个特定的语法。我在模块字段中尝试了语法Primary\u Parent\u vod\u r:External\u ID\u vod\u c,这在Dataloader中起作用,但这里我得到了错误:属性“prefix=”xmlns“,localpart=“Primary\u Parent\u vod\u r”,rawname=“xmlns:Primary\u Parent\u vod\u r”的值无效。带前缀的命名空间绑定不能为空。