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
VoIP SolutionsVoIP Solutions 

Data Loader - "[external ID name] not specified" error when attempting to batch upsert()

I am using the Data Loader (v 16.0) to run a batch process.  I am able to run an update from the command line without any difficulty.

 

Here is my bean:

    <bean id="LocationUpdate"

          class="com.salesforce.lexiloader.process.ProcessRunner"

          singleton="false">

        <description>Accountupdate job takes a csv file of the locations and uploads the latest information from Lichen.</description>

        <property name="name" value="LocationUpdate"/>

        <property name="configOverrideMap">

            <map>

                <entry key="sfdc.debugMessages" value="false"/>

                <entry key="sfdc.debugMessagesFile" value="c:\dataloader\samples\status\accountMasterSoapTrace.log"/>

                <entry key="sfdc.endpoint" value="https://www.salesforce.com"/>

                <entry key="sfdc.username" value="xxxxxxxxx"/>

                <entry key="sfdc.password" value="xxxxxxxxx"/>

                <entry key="process.encryptionKeyFile" value="C:\Program Files\salesforce.com\Apex Data Loader 16.0\bin\encryption.key"/>

                <entry key="sfdc.timeoutSecs" value="600"/>

                <entry key="sfdc.loadBatchSize" value="200"/>

                <entry key="sfdc.entity" value="Location__c"/>

                <entry key="process.operation" value="upsert"/>

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

                <entry key="process.mappingFile" value="C:\Program Files\salesforce.com\Apex Data Loader 16.0\conf\account_mapping.sdl"/>

                <entry key="dataAccess.name" value="C:\SFDC-Lichen-Update\data\location_update.csv"/>

                <entry key="dataAccess.type" value="csvRead"/>

                <entry key="process.initialLastRunDate" value="2005-12-01T00:00:00.000-0800"/>

            </map>

        </property>

    </bean>

 

My XKey_LocationID__c is in the CSV and is properly labeled in the file.  I can do the same operation successfully through the UI.

 

Every record gets the follow error through the batch job - XKey_LocationID__c not specified


"[external ID name] not specified" error when attempting to call upsert()

 

Any help would be appreciated !!! 

spatelspatel

Hi

 

I'm having the same problem are there any solutions for this?

 

Tks Spatel

PatcsPatcs

Hi patel,

 

Did you find solution for this?    Iam also facing the same problem, if you solve this please let me know and it is very urgent for me......

 

Thanks in advance

Maarten van DesselMaarten van Dessel
This happens in case you use the same mapping key for multiple fields.

This is an example mapping file for which I had the same error:
EXTERNAL_ID=CGT_External_ID__c
QUANTITY_SENT=QuantitySent
QUANTITY_RECVD=QuantityReceived
DEST_LOC_ID=DestinationLocation\:CGT_External_ID__c
EXTERNAL_ID=Shipment\:CGT_External_ID__c
What you can see is that the key "EXTERNAL_ID" is used twice in the mapping, which is causing issues for the Data Loader. In order to solve this, you need two columns coming from your source holding the same value (but having a different column name).