在外部ID引用不起作用的情况下向Salesforce上插入
我在Salesforce中有以下对象及其各自的字段: 展望 数据\u迁移\u ID\u c(外部ID) 营销来源 数据\u迁移\u ID\u c(外部ID) 铅源 数据\u迁移\u ID\u c(外部ID) 潜在客户(参考潜在客户) 来源c(参考市场营销来源c) 在Lead source的源数据(CSV)中,我在Lead_source__c.Prospect__c和Lead_source__c.source__c中分别有潜在客户和营销源的外部ID。我遵循了…component/的说明,以及我在论坛中找到的任何提示,以便加载我的潜在客户源数据。我可以让它与数据加载器一起工作,因此我知道数据是有效的。但无论何时运行作业,都会得到以下输出:在外部ID引用不起作用的情况下向Salesforce上插入,salesforce,talend,Salesforce,Talend,我在Salesforce中有以下对象及其各自的字段: 展望 数据\u迁移\u ID\u c(外部ID) 营销来源 数据\u迁移\u ID\u c(外部ID) 铅源 数据\u迁移\u ID\u c(外部ID) 潜在客户(参考潜在客户) 来源c(参考市场营销来源c) 在Lead source的源数据(CSV)中,我在Lead_source__c.Prospect__c和Lead_source__c.source__c中分别有潜在客户和营销源的外部ID。我遵循了…component/的说明,以及我在论
Exception in component tSalesforceOutputBulkExec_1_tSBE
[AsyncApiException exceptionCode='InvalidBatch'
exceptionMessage='Records not processed'
]
at com.sforce.async.BulkConnection.parseAndThrowException(BulkConnection.java:108)
at com.sforce.async.BulkConnection.doHttpGet(BulkConnection.java:472)
at com.sforce.async.BulkConnection.getBatchResultStream(BulkConnection.java:369)
at org.talend.salesforceBulk.SalesforceBulkAPI.getBatchLog(SalesforceBulkAPI.java:428)
at test.lead_source__c_0_1.Lead_Source__c.tFileInputDelimited_1Process(Lead_Source__c.java:2132)
at test.lead_source__c_0_1.Lead_Source__c.runJobInTOS(Lead_Source__c.java:2839)
at test.lead_source__c_0_1.Lead_Source__c.main(Lead_Source__c.java:2688)
我使用的是Talend 5.5.1.r118616-20140617-1110,我找到了答案
上的说明是正确的,但我引用了错误的字段。当说明说转到TsaleForceOutputBulkExec组件上的高级设置选项卡时,它说“查阅字段名”是Salesforce中联系人和帐户对象之间的查阅字段。因此,它将是Contact对象中的Account字段。“我使用了“Prospect\uuuu c”和“Source\uuu c”作为我的查找字段名。我应该使用“Prospect\uuu r”和“Source\uu r”,因为它们似乎是实际的查找字段——至少对于这些自定义对象是这样
我们曾经有过普及的,这允许我们使用语法“(Object:ExternalID:Value)”[so“(Prospect\uu c:Data\u Migration\u ID\uu c:1)”,例如]作为insert语句中的值。我从未处理过引用字段,但我在Salesforce开发人员的一些博客和论坛中找到了一些关于它们的注释,我认为值得一试