I am trying to run an upsert from a batch script.

I can't seem to track down any documentation on the actual mapping file when using an external id from a .csv file. How do I tell my upsert which column to use for the lookup?

Purpose: I am trying to obtain the sales_force_id from table account by using the value my_ext_id in my file. So my_ext_ID should join to account on my_ext_id = account.account_ID and retrieve a salesforce_ID that I will be mapping to a column called my_Sf_id.

I have the id here:

<entry key="sfdc.externalIdField" value="my_ext_ID"/>

what should my mapping file look like to match my_ext_ID -> account.account_ID? I tried :


which gives: Field mapping is invalid

edit: Thank you for the alternative but it needs to be done this way.

  • is this a Dataloader question?
    – cropredy
    Jul 7 '14 at 21:04
  • Yes, I am trying to run from batch.
    – Josh
    Jul 7 '14 at 21:12
  • did you look at blog.ryansieve.com/2013/03/14/… ?
    – cropredy
    Jul 7 '14 at 21:36
  • @josh you might take a look at Dataloader.io, the free version includes scripting from a drobpox folder including mapping external ids. It's not the most powerful, but definitely the easiest to use and best interface. There is also jitterbit which is way more powerful, but can be frustrating to get working correctly at times. Jul 7 '14 at 22:07
  • crop I can not use the GUI unfortunately, and Ralph an alternative is out of the question unfortunately
    – Josh
    Jul 8 '14 at 13:32

You might try the Force cli tool.

force sobject bulk

While the docs are a bit thin, I find the Force CLI to be the best tool around.

https://force-cli.heroku.com/ has downloads for all platforms GoLang supports.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.