Think. Build. Salesforce Solutions.

Salesforce Consulting Services across Salesforce Clouds & Across App Lifecycles

Blog

Scheduling of data loader through command line

By |2020-06-24T09:17:06+00:00February 2nd, 2016|Tags: , , , |

Data loader is a tool provided by the salesforce so that we can perform various functions through it. The functions could be insert, update, delete, export, export all, upsert. This is a migration tool which is used to migrate data more than 50,000 in number, but a drawback of it is that it cannot scheduled.
Thus to overcome this drawback we make use of dataloader through command line interface which is scheduled with task manager.
The most important part of setting up Command Line Data loader is to generate the encrypted password using utility provided by the Data Loader.
C:\Program Files (x86)\salesforce.com\Data Loader\bin

Mirketa_Salesforce_Data_Loader_Comand_line_1

Before we start with the steps we need to create a folder (with any name, I used dataloader) which should have files with names.

1) Key.txt
2) Encrypted.txt
3) Success.csv
4) Errors.csv
5) AccountInsertMap.sdl or with csv extension.

Step1

Create Encryption Key
1. Open a command prompt.
2. In the cmd enter cd\ to navigate to the root directory of the drive where the dataloader is installed.
3. Enter to the bin through this command.
Cd C:\Program Files(x86)\salesforce.com\Apex Data Loader 22.0\bin
4. Generate an encryption Key
Encrypt.bat “g <seedtext>
Replace seedtext with any string.
Mirketa_Salesforce_Data_Loader_Comand_line_encryption_Key_2
Step 2
Create an encrypted password.
In the same command prompt you have the following command:
Encrypt.bat <password> <filepath>\ key.txt
Replace with the password with which the dataloader login to salesforce and replace the file path with the key.txt path.
Mirketa_Salesforce_Data_Loader_Comand_line_encrypted_password_3
Copy the encrypted password that is generated by the command prompt. We will discuss this later.

Step 3

Create a mapping file with name accountInsertMap.sdl or a CSV file. The data is inserted so that the left-hand side data is equal to the destination field on the right-hand side.

#Mapping values
#Thu May 26 16:19:33 GMT 2011
Name=Name
NumberOfEmployees=NumberOfEmployees
Industry=Industry

OR
The accountInsertMap.csv
Mirketa_Salesforce_Data_Loader_Comand_line_Accountinsertmap_4
Step 4

Create configuration file
Contains all the information the data loader needs to perform. Each bean of the config file performs an individual function such as insert, delete, update, etc. We perform an export from the following file.

Parameters for Process-config.xml:

Sfdc .endpoint:-Enter the URL of the Salesforce instance for your organization, for example
https://test.salesforce.com
sfdc.username:-Enter the username with which your login to dataloader.
Sfdc.password: -Enter the password encrypted password which you create in step 2.
DataAccess.Name: -Enter the path and file name of the data file that contains the Accounts that you want to import.
The process-con file should be present in the dataloader folder.
Mirketa_Salesforce_Data_Loader_Comand_line_Create_Configuration_File_5
Step 5

1) Copy the following data to the filename accountInsert.csv. This is the account data which can be imported into the organization. You can have your own values.

Name, Number of Employees, Industry
Dickenson plc, 120, Consulting
Gene Point, 265, Biotechnology
Express Logistics and Transport, 12300, Transportation
Grand Hotels & Resorts Ltd, 5600, Hospitality2)In the command prompt window, we have the following command.
Process.bat <path to process-con.xml> process name
Mirketa_Salesforce_Data_Loader_Comand_line_Process_Name_6
Note: –
Provide the path to process-con.xml and in the process provide the name of the process name.
In our case the process name will be insertAccounts as is present in the process-con.xml file.
<property name=”name” value=”insertAccounts”/>

After the process runs the command prompt enter the success and error messages.
You can also check with the log files with the names success.csv and error.csv
The execution of the command also creates a log file, as the path needs to be given where the log file need to be created.
<entry key=”sfdc.debugMessagesFile” value=”C:\Users\Desktop\data loader\log\accountInsertSoaptrace.log”/>
Now another step is quite essential to schedule the command line dataloader, for this we require a bat file named as process.bat. This bat file contains path till bin and the path for the process-con.xml
This bat file should be present in the dataloader folder.
Mirketa_Salesforce_Data_Loader_Comand_line_Process_Bat_7
Steps of Scheduling dataloader through windows: –
Click on start->control panel->System and security->Administrative tools->Task scheduler.
Mirketa_Salesforce_Data_Loader_Comand_line_Task_Scheduler_8
1) Click on create the task in actions.
2) Provide the name of the scheduled task.
3) Set up trigger timings as required to schedule the data loader jobs.
4) Set up the action with action type as Start Program and add process.bat file.
5) Save the task.
The scheduler will run the data loader processes as per the trigger time set in the windows scheduler task. This is how we schedule a data loader through command-line interface.

Leave A Comment