+ Start a Discussion
Flight PlanFlight Plan 

Issue with CommandLine data loader using Window 7 (Data loader 23.0)

 

Background :

                           I am using command line data loader for import, upsert  and archiving the data in sandbox and production ORG.

                           The process-conf.xml is properly defined (for sandbox and Prod env )and created the .bat files for all the above mentioned operations.

                             

                           When I ran all this functionality in sandbox and production ORG from Window XP environment its working fine.However when I tried it using Window 7 environment  on production it  gives me following error ....

 

java.lang.RuntimeException: com.salesforce.dataloader.exception.ParameterLoadExc

eption: Error loading parameter: sfdc.password of type: java.lang.String

        at com.salesforce.dataloader.process.ProcessRunner.run(ProcessRunner.jav

a:136)

        at com.salesforce.dataloader.process.ProcessRunner.run(ProcessRunner.jav

a:74)

        at com.salesforce.dataloader.process.ProcessRunner.main(ProcessRunner.ja

va:226)

Caused by: com.salesforce.dataloader.exception.ParameterLoadException: Error loa

ding parameter: sfdc.password of type: java.lang.String

        at com.salesforce.dataloader.config.Config.decryptProperty(Config.java:6

75)

        at com.salesforce.dataloader.config.Config.postLoad(Config.java:620)

        at com.salesforce.dataloader.config.Config.loadParameterOverrides(Config

.java:646)

        at com.salesforce.dataloader.process.ProcessRunner.run(ProcessRunner.jav

a:94)

        ... 2 more

Caused by: javax.crypto.BadPaddingException: Given final block not properly padd

ed

        at com.sun.crypto.provider.SunJCE_h.b(DashoA12275)

        at com.sun.crypto.provider.SunJCE_h.b(DashoA12275)

        at com.sun.crypto.provider.DESCipher.engineDoFinal(DashoA12275)

        at javax.crypto.Cipher.doFinal(DashoA12275)

        at com.salesforce.dataloader.security.EncryptionUtil.decryptString(Encry

ptionUtil.java:197)

        at com.salesforce.dataloader.config.Config.decryptProperty(Config.java:6

68)

        ... 5 more

 

 

Any help on this would be helpful.

 

-Thanks

 

 

Best Answer chosen by Admin (Salesforce Developers) 
Flight PlanFlight Plan

 Florian,

 

Found the issue

May be some hidden character present in this (C:\Apex Data Loader\conf\Key.txt) path

  <entry key="process.encryptionKeyFile" value="C:\Apex Data Loader\conf\Key.txt" />

replace the above path with

 

  <entry key="process.encryptionKeyFile" value="C:\ApexDa~1\conf\Key.txt" />

 

Now its working fine:-)

 

Thanx

 

All Answers

florianhoehnflorianhoehn

Hi,

 

The error looks like your authentication is not setup correctly.

 

In the dataloader documentation (in the chapter: Command Line Quickstart) you can check if you have done everything correctly. If this does not help you or you have gone through it already, please post your bean so that we can help in more detail.

 

Hope this helps already.

 

Florian

Flight PlanFlight Plan

Thanx Florian for quick reply.

 

I have followed all the steps mentioned in the documentation (PDF) i.e.

 

1. I have generate the key and placed it in conf\key.txt

         encrypt -g sometext

2. And then generate the password

     encrypt -e password "path of the key.txt file"

3. Add the generated password in bean.

 

 

 

Please correct me If I did something wrong.

And one more thing that I want to focus is Command Line data loader is working fine for Sandbox enviornment (using both Window 7 & XP)

However when I change the username ,password and endpoint and run using Windows 7 it was displaying the mentioned error.

 

 

<!----------------------------------- My .bAT file --------------------------------->

c:
cd\
cd "C:\Apex Data Loader\bin"
process ../conf Objectfiling
pause

 

<!----------------------------------- My .bAT file --------------------------------->

 

<!----------------------------------- Bean Details --------------------------------->

<!----------------------------------- Bean Details --------------------------------->

<bean id="Objectfiling"
          class="com.salesforce.dataloader.process.ProcessRunner"
          singleton="false">
      <description>Objectfilingjob to insert filing details."</description>
        <property name="name" value="Objectfiling"/>
        <property name="configOverrideMap">
            <map>
                <entry key="sfdc.debugMessages" value="false"/>
                <entry key="sfdc.debugMessagesFile" value="C:\Apex Data Loader\conf\sfdcSoapTrace.log"/>
                <entry key="sfdc.endpoint" value="https://login.salesforce.com"/>
                <entry key="sfdc.username" value="myorg@domain.com"/>
                <!-- password specified below is invalid, please generate one using the encrypt.bat utility -->
                <entry key="sfdc.password" value="de86076d531908cf2d71547b8dfe1ba9"/>
        <entry key="process.encryptionKeyFile" value="C:\Apex Data Loader\conf\Key.txt" />
                <entry key="sfdc.timeoutSecs" value="600"/>
                <entry key="sfdc.loadBatchSize" value="200"/>
                <entry key="sfdc.entity" value="DOB_Filing__c"/>
                <entry key="process.operation" value="insert"/>
                <entry key="process.mappingFile" value="C:\dataloader\myobjectmapping.sdl"/>
                <entry key="dataAccess.type" value="csvRead"/>
                <entry key="dataAccess.name" value="C:\dataloader\FillingInsertion\Objectfiling.csv"/>
        <entry key="process.statusOutputDirectory" value="C:\dataloader"/>
        <entry key="process.outputError" value="C:\dataloader\FillingInsertion\errorInsertArtist.csv"/>
                <entry key="process.outputSuccess" value="C:\dataloader\FillingInsertion\successInsertArtist.csv"/>
            </map>
        </property>

    </bean>

 

<!----------------------------------- Bean Details --------------------------------->

<!----------------------------------- Bean Details --------------------------------->

 

<!----------------------------------- Config properties --------------------------------->

 

#Loader Config
#Mon Feb 27 08:28:17 GMT 2012
sfdc.wireOutput=false
sfdc.connectionTimeoutSecs=60
sfdc.username=myorg@domain.com
sfdc.bulkApiCheckStatusInterval=5000
sfdc.bulkApiZipContent=false
sfdc.timezone=GMT
sfdc.insertNulls=false
sfdc.endpoint=https\://login.salesforce.com
sfdc.useBulkApi=false
process.outputSuccess=C\:\\recruiting\\success090611014348193.csv
sfdc.loadBatchSize=200
dataAccess.name=C\:\\recruiting\\export.csv
process.enableExtractStatusOutput=false
dataAccess.readBatchSize=200
sfdc.maxRetries=3
sfdc.resetUrlOnLogin=true
process.outputError=C\:\\recruiting\\error090611014348193.csv
dataAccess.type=csvWrite
process.loadRowToStartAt=0
process.operation=insert
sfdc.extractionSOQL=Select Id, AccountId, LastName, FirstName FROM Contact
dataAccess.writeBatchSize=500
process.statusOutputDirectory=C\:\\recruiting
sfdc.extractionRequestSize=500
sfdc.truncateFields=true
sfdc.minRetrySleepSecs=2
sfdc.entity=Contact
sfdc.enableRetries=true
sfdcInternal=false
process.enableLastRunOutput=true
sfdc.password=de86076d531908cf2d71547b8dfe1ba9
sfdc.timeoutSecs=540
sfdc.bulkApiSerialMode=false
sfdcInternal.isSessionIdLogin=false
<!----------------------------------- Config properties --------------------------------->

 

thanx

 

Flight PlanFlight Plan

 Florian,

 

Found the issue

May be some hidden character present in this (C:\Apex Data Loader\conf\Key.txt) path

  <entry key="process.encryptionKeyFile" value="C:\Apex Data Loader\conf\Key.txt" />

replace the above path with

 

  <entry key="process.encryptionKeyFile" value="C:\ApexDa~1\conf\Key.txt" />

 

Now its working fine:-)

 

Thanx

 

This was selected as the best answer