function readOnly(count){ }
Starting November 20, the site will be set to read-only. On December 4, 2023,
forum discussions will move to the Trailblazer Community.
+ Start a Discussion
Aaron MaternowskiAaron Maternowski 

dataloader batch update error Id not specified in an update call

i am using dataloder batch mode.
i have extracted contact adresses and passed them through another proces to clean the addresses. now i want to pass them back to salesforce.

i have my csv
i have a mapping file that works when i run it interactively
i have done my best to create the update bean in the process-conf.xml as ther eis no update exapmle.

when i run the batch update I get the error below for every record in my csv.
Error code is:MISSING_ARGUMENT
Error message:Id not specified in an update call
the csv and the mapping file work when i run it interactively, which tells me my issue must be my pross-conf bean?

here is that:
   <bean id="homeAddressUpdateProcess"
          class="com.salesforce.dataloader.process.ProcessRunner"
          singleton="false">
      <description>Home Address Update job gets the Address record updates from a CSV file and uploads them to salesforce using 'update'.</description>
        <property name="name" value="homeAddressUpdate"/>
        <property name="configOverrideMap">
            <map>
                <entry key="sfdc.endpoint" value="..."/>
                <entry key="sfdc.username" value="..."/>
                <entry key="sfdc.password" value="..."/>
                <entry key="process.encryptionKeyFile" value="D:\MONITORING\DataLoader\CONF\key.txt"/>
                <entry key="sfdc.timeoutSecs" value="600"/>
                <entry key="sfdc.loadBatchSize" value="200"/>
                <entry key="process.operation" value="update"/>
                <entry key="process.mappingFile" value="D:\MONITORING\DataLoader\MAPPING\homeAddressUpdateMap.sdl"/>
                <entry key="dataAccess.name" value="D:\MONITORING\DataLoader\INBOUND\homeAddressExtract.out.csv"/>
                <entry key="dataAccess.type" value="csvRead"/>
                <entry key="sfdc.entity" value="Contact"/>
                <entry key="process.initialLastRunDate" value="2006-12-01T00:00:00.000-0800"/>
        <entry key="process.statusOutputDirectory" value="D:\MONITORING\DataLoader\LOGS\" />
        <entry key="process.outputSuccess" value="D:\MONITORING\DataLoader\LOGS\homeAddressUpdate_success.csv"/>
        <entry key="process.outputError" value="D:\MONITORING\DataLoader\LOGS\homeAddressUpdate_error.csv"/>
            </map>
        </property>
    </bean>
any thoughts on this would be most helpful.
 
Prafull G.Prafull G.
Hi Aaron - You need to speficy extenal id field in the the propery map.
<entry key="sfdc.externalIdField" value="Id"/>
Let us know if this helps.
Aaron MaternowskiAaron Maternowski
i added that line, but i'm still getting the same errors.

I thought that parameter was for upserts?
Praveen Krishna 1Praveen Krishna 1
Hi Aaron,
I ran into the same issue when i was udating Account using Data loader commandline. But after so many trials i was able to do update successfully.
My SDL file:
ID=Id
NAME=NAME
Note :Id is case sensitive

Hope this helps. Like it if this helps.