DBAmp: “MISSING_ARGUMENT:(External ID field name) not specified:--" error when performing Upsert operation with SF_TableLoader using an External ID

  • 1 December 2023
  • 0 replies
  • 53 views

Userlevel 1
Badge

This error is thrown by Salesforce itself when attempting to Upsert an input table that does not always contain a value for the External ID field(in this case External_ID__c as shown in the example below). When performing Upsert with SF_TableLoader, it is necessary for the External ID field to contain a valid value. In this case, it should not be empty. If any of the records contains an empty value, the BULK API cannot decide whether that specific record needs to be updated or inserted. The external ID needs to be specified, as the error itself states. 

API reference on how the upsert operation works: (https://developer.salesforce.com/docs/atlas.en-us.api_asynch.meta/api_asynch/bulk_api_2_0_upsert.htm?_ga=2.136492534.793560252.1693256725-1249321776.1673529617

 

Example query executed that reproduces the issue: 

EXEC SF_TableLoader 'Upsert:BULKAPI, Parallel, Batchsize(500)', 

'SALESFORCE','Account_Upsert','External_ID__c' 

Account_Upsert input table example: 

 

 

Account_Upsert_Result table: 

 

 

Please reach out to support@cdata.com if you have any questions. 


This topic has been closed for comments