Once you have created an export file and cleaned up the data for import, follow these steps to import data using the Data Import Wizard:
Select the Salesforce field to the map the column with:
To change the field mapping that Salesforce has already mapped, click on the Change link. Then click on Next
On the next screen, the Import wizard will highlight the mapped fields and unmapped fields. It will also highlight the errors, if there are any, in the data. If everything is correct, click on start import:
The Apex data loader is a utility used to upload data to the organization. We can load any object that has API_Access. Unlike other tools, the data loader is not a cloud-based tool, but a desktop utility built for systems running on desktop systems. Some features of the data loader are as follows:
Some salient features of the data loader are listed as follows:
Unlike the other features of Force.com, the data loader is not completely on the cloud. We need to physically download and install it on the machine to use it. To obtain and install the data loader, perform the following steps:
Install the data loader in the machine before proceeding to the next section. In the next section, we will be loading data.
The data loader helps us export data for backup, insert data, delete, and hard delete the data, as shown in the following screenshot:
Let's export some opportunities for the purpose of an example:
.csv
, as shown in the following screenshot, and click on Next.success.csv
and error.csv
.Now that we have exported the data, let's try to upsert the data. We are going to use the same export file as a template to upsert new records. It is easier to map fields on an exported file because Salesforce can automatically map the records.
Perform the following steps to upsert the data:
Thus, we have seen the commands of export and upsert using the data loader. The commands of insert and update are very similar to upsert. However, they won't allow mapping with an external ID. The operations of delete and update require a Salesforce ID.
By default, the data loader is configured to operate using some default parameters. We can further configure it as per our requirements to improve performance.
The data loader by default works only with the production organization. To make it operable with the sandbox, we need to modify some parameters. Let's configure the data loader for the sandbox operation.
Go to Settings | Settings in the Data Loader. A new window will open, as shown in the following screenshot:
There are five major configuration changes that we need to keep in mind while setting up the Data Loader. Let's take a look at each one of them:
200
while uploading using the data loader; however, if the data is large, we can use the bulk API, which increases the batch size to 2,000
.NULL
, we need to replace all the blanks with #NA.The data loader is a very easy and intuitive tool used to load data. As it is easy to use, it also requires manual intervention and user input to operate. However, many times, we require an automated process to upload large chunks of data. For these cases, we use the data loader through the command-line interface.
The command-line data loader performs the same operations as the normal data loader without the GUI and the easy-to-use interface.
Before we fire up the data loader with the command-line interface, we need to configure it so that it can perform the desired operations.
The main configuration file is the config.properties
file, which is located in the Data Loader
folder. The default location of the data loader is c:Program FilessalesForce.comApex Data Loader 35.0
.
For help with using the command line, the data loader provides the -help
command.
As the command-line data loader runs on Command Prompt, we have very few options to customize and format the commands during the operation. To overcome this, we prepare some files that store the basic commands and configuration needed to run the data loader from the command line. Let's take a look at some of the files used in the operation.
The process-conf.xml
file contains a description for every potential process that can be called from the command line. Each of these processes is referred to as a Process Bean. A sample Process-conf.xml
file is shown in the following screenshot:
The section marked in the outer rectangle is a single process bean that holds the data operation. The following are its main properties:
Name
: This is used to identify the bean in the config.properties
file and when we call it from the command-line interface, for example, accountMasterProcess
.sfdc.entity
: The Salesforce object that is the target of the actions. The value of this property is case-sensitive. For example, Account (note: Capital A).process.operation
: This attribute identifies the type of operation, for example, insert
, upsert
, update
, and so on.process.mappingFile
: This attribute identifies the mapping between the fields in the source file (dataAccess.name
) and the Salesforce object. This mapping file is an .sdl
file. This file can be easily created from the GUI of the data loader.dataAccess
.type
: This attribute identifies the operation to be performed on the source file. For example, if we are using the ODBC data source, the property will read databaseRead
; if we are including data from CSV, the property will be CSVRead
.sfdc
.username
: This stores the Force.com login name for the command line run. If there is no owner name record specified, this will be the new owner.sfdc
.password
: The configuration file is stored as a plain text on the machine; storing the password in the file is not a good and secure way. sfdc
.password
and process
.encryptionKeyFile
serve the purpose of encrypting the password for added security. To generate the key and the encrypted password, the data loader provides the Encrypt
.bat
utility with its installation. We will take a look at the Encrypt.bat
file in the next section.These are the entities in the process-conf.xml
file. This file has to be prepared every time we need to perform an operation. If we need to perform multiple operations in one go, the entire <bean> </bean>
should be repeated with all the parameters inside it.
After we configure the desired files, we are now ready to run the operation. To run the command-line job, the data loader comes with a process.bat
file kept in the Data loader folderin
folder.
To run the batch process, we run the process
using the name of the command as input, process ../accountMasterProcess
In this case, process
is the command given to run the data loader and accountMasterProcess
is the name given to the ID in the Bean
attribute.
To log in to the Salesforce.com organization, we need to specify the password in the config.properties
file. For security purposes, the password should be stored after encryption so that no unauthorized person can read it.
Salesforce provides us with the encrypt.bat
utility, which encrypts the password from the plain text. The utility is available at the Data loader folderinencrypt.bat
default location.
encrypt.bat
runs in the command line and supports the following commands:
Generate
a
key
: This command generates a key from the text we provide. Usually, we should provide the password with the security code in plain text format to generate an encrypted key.Encrypt
text
: This command performs the same operation as generating a key; it can only be used to encrypt the general text provided.Verify
encrypted
text
: This command matches plain text and the encrypted password and prints a success or failure message.If there is some error in the operation of the data loader, we can access the log files of the data loader. The two log files are as follows:
sdl.log
: This contains a detailed chronological list of data loader log entries. Log entries marked as INFO are procedural items, such as logging in to Salesforce. Log entries marked as ERROR are problems, such as a submitted record missing a required field.sdl_out.log
: This is a supplemental log that contains additional information not captured in sdl.log
. For example, it includes log entries for the creation of proxy server network connections.These files are present in the temp
folder of the system running on Microsoft Windows and can be accessed by entering %TEMP%sdl.log
and %TEMP%sdl_out.log
in the Run dialog box.
18.216.143.65