Salesforce: Spring '11

Data Loader Developer's Guide

Last updated: April 10, 2011
© Copyright 2000-2011 salesforce.com, inc. All rights reserved. Salesforce.com is a registered trademark of salesforce.com, inc., as are other

names and marks. Other marks appearing herein may be trademarks of their respective owners.

Table of Contents

Table of Contents
Data Loader.........................................................................................................................................1
Data Loader Overview..............................................................................................................................................................1 When to Use the Data Loader..................................................................................................................................................2 Installing and Configuring the Data Loader.............................................................................................................................3 Using Data Loader....................................................................................................................................................................9 Running Batch Processes........................................................................................................................................................18 Data Loader Third-Party Licenses..........................................................................................................................................35 Index...................................................................................................................................................................................................37

i

Table of Contents

ii

see the following topics: • • When to Use the Data Loader Installing the Data Loader 1 . we encourage you to use Data Loader on Windows 7 instead. and Developer Editions The Data Loader is a client application for the bulk import or export of data. The Data Loader offers the following key features: • • • • • • • • An easy-to-use wizard interface for interactive use An alternate command line interface for automated batch operations Support for large files with up to 5 million records Drag-and-drop field mapping Support for all objects. including custom objects Detailed success and error log files in CSV format A built-in CSV file viewer Support for Windows 7 and Windows XP In addition. Unlimited. Note: If you are currently using Windows 2000. it outputs CSV files. or set up automated batch processes launched from the command line. To get started. you work interactively to specify the configuration parameters. mappings. When you set up batch processes through the command line. use a tab or other delimiter. you specify the configuration. When importing data. and loads data from comma separated values (CSV) files or from a database connection. data sources. extracts. and actions in files used for automated processing. When exporting data. You can use Data Loader interactively through its user interface. update. delete. When you use the user interface.DATA LOADER Data Loader Overview Available in: Enterprise. an open source version of Data Loader is available here. Use it to insert. CSV files used for import and export. Note: If commas are not appropriate for your locale. the Data Loader reads. or export Salesforce records. and the field mappings that map the field names in your import file with the field names in Salesforce.

” When to Use the Data Loader Available in: Enterprise. If you need to load more than 5.Data Loader When to Use the Data Loader Note: In previous versions.000. You want to schedule regular data loads.com partner.000 records. we recommend you work with a Salesforce. 2 . or lead email address. contact email address. Use Web-based importing when: • • • You are loading less than 50. Refer to the following guidelines to determine which method of importing best suits your business needs: Use the Data Loader when: • • • • You need to load 50. such as nightly imports. the Data Loader has been known as the “AppExchange Data Loader“ and the “Sforce Data Loader.000 to 5. The object you need to import is supported by the web-based import wizards.000 records.000. Unlimited. and Developer Editions The Data Loader complements the web-based import wizards that are accessible from the Setup menu in the online application.000 records. You want to export your data for backup purposes. You want to prevent duplicates by uploading records according to account name and site. You need to load into an object that is not yet supported by web-based importing.

The latest version is always available from Salesforce at Your Name ➤ Setup ➤ Data Management ➤ Data Loader. 2. Installation Procedure Caution: Over time. Java JRE 1. Sun JVM 1. you need: • • • • • Windows 7 or Windows XP. You can run the Data Loader wizards or run the application from the command line. we encourage you to use Data Loader on Windows 7 instead. 4. 5. first remove it from your computer by using the Add or Remove Programs dialog in the Windows Control Panel. However. 1. Accept the license agreement and click Next. Double-click the downloaded file to launch the InstallShield wizard. Note: If you are currently using Windows 2000. do not install multiple copies of the same version. If you have previously installed the latest version and want to install it again. 3.” You can run different versions at the same time on one computer. and Developer Editions User Permissions Needed To access the page to download the Data Loader: To use the Data Loader: “Modify All Data” The appropriate user permission for the operation you are doing. Click Download the Data Loader and save the installer to your PC. click Your Name ➤ Setup ➤ Data Management ➤ Data Loader. 90 MB free disk space. “Create” on accounts to insert new accounts System Requirements To use the Data Loader. for example. Some versions were released with earlier product names such as “AppExchange Data Loader” or “Sforce Data Loader. Click Next. Unlimited. 3 . 256 MB available memory.5 or later (Windows XP or Windows 7).Installing and Configuring the Data Loader Installing the Data Loader INSTALLING AND CONFIGURING THE DATA LOADER Installing the Data Loader Available in: Enterprise. In the online application. multiple versions of the Data Loader client application have been available for download.5 or later (Windows XP or Windows 7). Different versions have different entries in the Add or Remove Programs dialog in your Windows Control Panel.

This option is not available if the Use Bulk API option is selected. and Developer Editions Use the Settings menu to change the default operation settings of the Data Loader. Click Next. To start the Data Loader. The maximum value is 200. Choose Settings ➤ Settings. Empty field values are ignored when you update records using the Bulk API. 1. Accept the default installation directory. 4 . The maximum value is 10. Unlimited. update. 9. 2.. Logging In to the Data Loader If your organization restricts IP addresses. For information on the password encryption utility. Tip: If you experience login issues in the command line interface after upgrading to a new version of the Data Loader. to choose another directory. The email contains a security token that you must add to the end of your password..Installing and Configuring the Data Loader Configuring the Data Loader 6. Configuring the Data Loader Available in: Enterprise. Click Finish. use a field value of #N/A. Start the Data Loader by choosing Start ➤ Programs ➤ salesforce. Note that when you are updating records. or delete operation. see Encrypting From the Command Line on page 19. this option instructs the Data Loader to overwrite any existing data in mapped fields. To set a field value to null when the Use Bulk API option is selected. 3. upsert.000 if the Use Bulk API option is selected. For example. logins from untrusted IPs are blocked until they're activated. Salesforce automatically sends you an activation email that you can use to log in. Insert Null Values Enable this option to insert blank mapped values as null values during data operations.com ➤ Data Loader ➤ Data Loader. if your password is mypassword. Edit the fields as desired: Field Batch Size Description In a single insert. We recommend a value between 50 and 100. and your security token is XXXXXXXXXX.com ➤ Data Loader ➤ Data Loader. please try re-encrypting your password to solve the problem. records moving to or from Salesforce are processed in increments of this size. Click Install. you must enter mypasswordXXXXXXXXXX to log in. or choose Start ➤ All Programs ➤ salesforce. double-click the Data Loader icon on your desktop. 7. 8. or click Change.

salesforce. be used instead of the new behavior in Server Host Reset URL on Login Compression Timeout Query Request Size Generate success files for exports Read all CSVs with UTF-8 encoding Write all CSVs with UTF-8 encoding Use European Date Format Allow field truncation 5 . and Text (Encrypted). To turn off this automatic reset.000. In Data Loader version 15. truncation. This option forces files to open in UTF-8 encoding.0 and later. Select this option to direct the Data Loader to truncate data in the following types of fields when loading that data into Salesforce: Email. Compression enhances the performance of the Data Loader and is turned on by default. Phone. In a single export or query operation. change the URL to https://test. Picklist. This option forces files to be written in UTF-8 encoding. disable this option. even if they were saved in a different format. Select this option to support the date formats dd/MM/yyyy and dd/MM/yyyy HH:mm:ss. It also applies to updates on accounts if your organization has territory assignment rules on accounts. but use more memory on the client. if you are loading into a sandbox. The assignment rule overrides Owner values in your CSV file. Salesforce resets the URL after login to the one specified in Server Host.Installing and Configuring the Data Loader Configuring the Data Loader Field Assignment Rule Description Specify the ID of the assignment rule to use for inserts. Larger values may improve performance. For example. and upserts. Text. In Data Loader versions 14. updates.com. records are returned from Salesforce in increments of this size. Enter the URL of the Salesforce server with which you want to communicate.0 and earlier. Select this option to generate a success file when exporting data. Multi-select Picklist. You may want to disable compression if you need to debug the underlying SOAP messages. This option applies to inserts. To turn off compression. enable this option. Selecting this option allows you to specify that the previous behavior. The maximum value is 2. Specify how many seconds the Data Loader waits to receive a response back from the server before returning an error for the request. updates. values for fields of those types are truncated by the Data Loader if they are too large. and upserts on cases and leads. By default. the load operation fails if a value is specified that is too large.

they become immediately eligible for deletion. This option is selected by default and has no effect in versions 14. This option is not available if the Use Bulk API option is selected. In that case. A Salesforce user license is required for hard delete. Note that using this option may significantly increase the processing time for a load. such as Attachment records or Salesforce CRM Content.lang. the load operation fails for the row if a value is specified that is too large for the field.Installing and Configuring the Data Loader Configuring the Data Loader Field Description Data Loader versions 15.0 and later. the load may fail. Using serial mode guarantees that batches are processed one at a time. • • If no value is specified. Use Bulk API Select this option to use the Bulk API to insert.0 and earlier. the time zone of the computer where Data Loader is installed is used. Instead. The Bulk API is optimized to load or delete a large number of records asynchronously. This option is only available if the Use Bulk API option is selected. Caution: When you select the Hard Delete operation. the deleted records are not stored in the Recycle Bin. Upload Bulk API Batch as Zip File (enable to upload binary attachments) Select this option to use the Bulk API to upload zip files containing binary attachments. The administrative permission for this operation. is disabled by default and must be enabled by an administrator. Bulk API Hard Delete. upsert. Enable serial mode for Bulk API Select this option to use serial instead of parallel processing for the Bulk API. GMT is used as the time zone and this fact is noted in the Data Loader log. the value specified here is used.String) method.. Processing in parallel can cause database contention. update. If an incorrect value is entered. delete. Valid values are any time zone identifier which can be passed to the Java getTimeZone(java. When this is severe. Time zone If a date value does not include a time zone. and hard delete records. The value can be a full name such as 6 . This option is only available if the Use Bulk API option is selected. It is faster than the default SOAP-based API due to parallel processing and fewer network round-trips.

One important difference is that it allows you execute a hard delete if you have the administrative permission and license. If your last operation failed. Data Loader Behavior with Bulk API Enabled Available in: Enterprise. and Developer Editions Enabling the Bulk API in Data Loader allows you to load or delete a large number of records faster than using the default SOAP-based API. Proxy Host Proxy Port Proxy Username Proxy Password Proxy NTLM domain The host name of the proxy server. The name of the Windows domain used for NTLM authentication. Start at row 4. The password for proxy server authentication. if applicable. For more information. Click OK to save your settings. The proxy server port. you can use this setting to begin where the last successful operation finished. use a field value of #N/A. To set a field value to null when the Use Bulk API option is selected. or a custom ID such as GMT-8:00. see Configuring the Data Loader on page 4 The following settings are not available on the Settings ➤ Settings page in Data Loader when the Use Bulk API option is selected: Insert Null Values This option enables Data Loader to insert blank mapped values as null values during data operations when the Bulk API is disabled. there are some differences in behavior in Data Loader when you enable the Bulk API. Empty field values are ignored when you update records using the Bulk API. 7 . Unlimited.Installing and Configuring the Data Loader Configuring the Data Loader Field Description America/Los_Angeles. A load operation fails for the row if a value is specified that is too large for the field when the Use Bulk API option is selected. However. The username for proxy server authentication. Allow field truncation This option directs Data Loader to truncate data for certain field types when the Bulk API is disabled.

deleting. By default. Processing in parallel can cause database contention. Unlimited. The administrative permission for this operation. 2. Data Loader uses the SOAP-based API to process records. and Developer Editions To uninstall the Data Loader client application: 1. Choose Settings ➤ Settings. 4. Start the Data Loader by choosing Start ➤ Programs ➤ salesforce. The uninstaller removes the program from your computer. the load may fail. is disabled by default and must be enabled by an administrator. Unlimited. It is faster than the SOAP-based API due to parallel processing and fewer network round-trips. 2.Installing and Configuring the Data Loader Uninstalling the Data Loader Configuring the Data Loader to Use the Bulk API Available in: Enterprise. Note that using this option may significantly increase the processing time for a load. 8 . and Developer Editions The Bulk API is optimized to load or delete a large number of records asynchronously. Click OK. and hard deleting records: 1. upserting. A Salesforce user license is required for hard delete. To configure Data Loader to use the Bulk API for inserting. updating. 3. When this is severe. they become immediately eligible for deletion. Go to Start ➤ Control Panel ➤ Add or Remove Programs. Caution: When you select the Hard Delete operation. Uninstalling the Data Loader Available in: Enterprise. Select the Data Loader program. Using serial mode guarantees that batches are processed one at a time. Bulk API Hard Delete.com ➤ Data Loader ➤ Data Loader. Click Remove. the deleted records are not stored in the Recycle Bin. Note: You can also select the Enable serial mode for Bulk API option. Select the Use Bulk API option. Instead. 3.

SSS -800 yyyy-MM-dd'T'HH:mm:ss.SSS-800 yyyy-MM-dd'T'HH:mm:ss 9 . “n”. Base64 fields are only used to insert or update attachments and Salesforce CRM Content.SSS'Z' yyyy-MM-dd'T'HH:mm:ss. Unlimited. “on”. and Developer Editions Data Loader supports the following data types: Base64 String path to file (converts the file to a base64–encoded array). For more information.Using Data Loader Data Types Supported by the Data Loader USING DATA LOADER Data Types Supported by the Data Loader Available in: Enterprise.SSS PST yyyy-MM-dd'T'HH:mm:ss.SSSPST yyyy-MM-dd'T'HH:mm:ss.SSS GMT-08:00 yyyy-MM-dd'T'HH:mm:ss.SSS Pacific Standard Time yyyy-MM-dd'T'HH:mm:ss. “1” False values (case insensitive) = “no”. “true”. “false”. “0” Date Formats We recommend you specify dates in the format yyyy-MM-ddTHH:mm:ss. see Uploading Attachments on page 15 and Uploading Content with the Data Loader on page 16.SSSPacific Standard Time yyyy-MM-dd'T'HH:mm:ss.SSS+/-HHmm: • • • • • • • • yyyy is the four-digit year MM is the two-digit month (01-12) dd is the two-digit day (01-31) HH is the two-digit hour (00-23) mm is the two-digit minute (00-59) ss is the two-digit seconds (00-59) SSS is the three-digit milliseconds (000-999) +/-HHmm is the Zulu (UTC) time zone offset The following date formats are also supported: • • • • • • • • • • yyyy-MM-dd'T'HH:mm:ss. Boolean • • True values (case insensitive) = “yes”.SSSGMT-08:00 yyyy-MM-dd'T'HH:mm:ss. “off ”. “y”.

European date formats aredd/MM/yyyy and dd/MM/yyyy HH:mm:ss. 10 . A knowledge base solution for this issue is available in the Salesforce Help & Training window. The earliest valid date is 1700-01-01T00:00:00Z GMT. select the Use European date format box in the Settings dialog. make sure that all Salesforce IDs you enter in the Data Loader are in the correct case. or just after midnight on December 31.” Only dates within a certain range are valid. The latest valid date is 4000-12-31T00:00:00Z GMT. in the Pacific timezone. For example. 4000.Using Data Loader Data Types Supported by the Data Loader • • • • • yyyy-MM-dd HH:mm:ss yyyyMMdd'T'HH:mm:ss yyyy-MM-dd MM/dd/yyyy HH:mm:ss MM/dd/yyyy Note the following tips for date formats: • • To enable date formats that begin with the day rather than the month. 1699. invalid XML characters are removed. Note: These values are offset by your timezone. or just after midnight on January 1. the earliest valid date is 1699-12-31T16:00:00. or 4:00 PM on December 31. Tip: To ensure data quality. If your computer's locale is east of Greenwich Mean Time (GMT). we recommend that you change your computer setting to GMT in order to avoid date adjustments when inserting or updating records. Integer Standard integer string String All valid XML strings. • Double Standard double string ID A Salesforce ID is a case-sensitive 15-character or case–insensitive 18-character alphanumeric string that uniquely identifies a particular record. 1700. search for “data loader date.

After your login completes successfully.Name. Choose an object. (Until you log out or close the program. Optionally. c. 1. If you do not select any conditions.. 4. Product2Id.com ➤ Data Loader ➤ Data Loader. For example.Using Data Loader Exporting Data Exporting Data Available in: Enterprise. If you select an existing file. a. the contents of that file are replaced. Start the Data Loader by choosing Start ➤ Programs ➤ salesforce. if your password is mypassword. Pricebook2. you must enter mypasswordXXXXXXXXXX to log in. with developer name noted in parentheses. Enter your Salesforce username and password. Choose the fields you want to export. For example. Unlimited. Similar to the SELECT command in SQL. b. Click Browse.. check Id and Name in the query fields and click Finish. you can choose to include (Export All) or exclude (Export) soft-deleted records. Click Export or Export All . check Show all objects to see a complete list of objects that you can access. select conditions to filter your data set. and conditions for selecting rows in the source object. you will not be asked to log in again. Tip: You can use a SOQL relationship query to include fields from a related object. and your security token is XXXXXXXXXX. Click Next. The email contains a security token that you must add to the end of your password. to select the CSV file to which the data will be exported. SOQL is the Salesforce Object Query Language that allows you to construct simple but powerful query strings. If your object name does not display in the default list. For example: Select Name.) If your organization restricts IP addresses. and Developer Editions User Permissions Needed To export records: To export all records: “Read” on the records “Read” on the records You can use the Data Loader export wizard to extract data from any Salesforce object. you will see that the CSV viewer displays all the Account names and their IDs. logins from untrusted IPs are blocked until they're activated. Pricebook2Id. 2. SOQL allows you to specify the source object (such as account). For example.ProductCode FROM PricebookEntry WHERE IsActive = true 11 . Review the generated query and edit if necessary. 5. These commands can also be found in the File menu. 7. Click Log in to log in. 6. 3. Click Yes to confirm this action. You can enter a new file name to create a new file or choose an existing file. all the data to which you have read access will be returned. Product2. Create a SOQL query for the data export. The objects will be listed by localized label name. When you export. For object descriptions. click Next. select the Account object. see the Web Services API Developer's Guide. or click No to choose another file. As you follow the next steps. Salesforce automatically sends you an activation email that you can use to log in. a list of fields to retrieve.

the contents of that file are replaced. automatic matching works only on the ID field. For example. 2. click and drag fields from the list of Salesforce fields at the top to the list of CSV column header names at the bottom. and Developer Editions Whenever you insert. 3. we recommend that you use the weekly export feature in the online application to export attachments. 4. Click Finish. Note that for a delete operation. Note: The Data Loader currently does not support the extraction of attachments. If you select an existing file. based on the similarity of field and column names.Family FROM OpportunityLineItems) FROM Opportunity For more information on SOQL. Click Yes to confirm this action. ListPrice. 8. A progress information window reports the status of the operation. For more details. As a workaround. a confirmation window summarizes your results. then click Yes to confirm. Optionally.Using Data Loader Defining Field Mappings Or: Select Id. After the operation completes. 9. The Data Loader does not support nested queries or querying child objects. Id. click and drag the Name field to the right of the NAME column header field. Specify a name for the SDL mapping file.NAME instead of Account. use the Mapping Dialog window to associate Salesforce fields with the columns of your CSV file. delete. Updating. For more information.product2.Name. Account. The Data Loader automatically populates the list at the bottom of the window. Defining Field Mappings Available in: Enterprise. Unlimited. or Deleting Data Using the Data Loader on page 13. Click View Extraction to view the CSV file.Name FROM Contact When using relationship queries in the Data Loader. queries similar to the following return an error: SELECT Amount. see the Web Services API Developer's Guide. PricebookEntry. click Save Mapping to save this mapping for future use. or click No to choose another file.UnitPrice. For example.Name does not work. PriceBookEntry. 1. For example. the fully specified field names are case-sensitive. 12 . Click OK to use your mapping for the current operation. PricebookEntry. see Reviewing Output Files on page 17. 10. To manually match fields with columns. see Inserting. click Auto-Match Fields to Columns. using ACCOUNT. Name. To automatically match fields with columns. (SELECT Quantity. if you are inserting new Account records where your CSV file contains the names of new accounts. or click OK to close. LastName. or update files.

and Developer Editions User Permissions Needed To insert records: To update records: To upsert records: To delete records: To hard delete records “Create” on the record “Edit” on the record “Create” or “Edit” on the record “Delete” on the record “Delete” on the record The insert. For object descriptions. The objects are listed by localized label name. the existing record is updated with the values in your file. Updating. click OK.com ➤ Data Loader ➤ Data Loader. check Show all objects to see a complete list of the objects that you can access. (Until you log out or close the program.Using Data Loader Inserting. select which field to use for matching. 7. If the object has no external ID fields. modify existing records. The email contains a security token that you must add to the end of your password. For more information on external IDs. you could specify a CSV file named insertaccounts. Click Insert. logins from untrusted IPs are blocked until they're activated. For example. 3. if your password is mypassword. begin by clicking Insert. Click Next to continue. Unlimited. For example. 5. see Configuring the Data Loader on page 4. Choose an object. upsert. Click Log in to log in. click Next.. 13 . you are not asked to log in again. 2. If no match is found.) If your organization restricts IP addresses. then the record is created as new. Updating. Start the Data Loader by choosing Start ➤ Programs ➤ salesforce.if a record in your file matches an existing record. Enter your Salesforce username and password. select Account. For example. and hard delete wizards in the Data Loader allow you to add new records. Upsert. Id is automatically used. For more information. and your security token is XXXXXXXXXX. see “Custom Field Attributes” in the Salesforce online help. Salesforce automatically sends you an activation email that you can use to log in. Note that “upsert” is a combination of inserting and updating . When you hard delete records. For example. These commands can also be found in the File menu. Click Next. if you are inserting Account records. delete. or Id (the Salesforce record ID). Update. to select your CSV file. 6. 4. or Deleting Data Using the Data Loader Inserting. the deleted records are not stored in the Recycle Bin and become immediately eligible for deletion. with developer name noted in parentheses. Delete or Hard Delete. After the object and CSV file are initialized. From the drop-down list.. if you are inserting Account records. The column may be either an external ID (a custom field with the “External ID” attribute). you must enter mypasswordXXXXXXXXXX to log in. or Deleting Data Using the Data Loader Available in: Enterprise. to insert new Account records.csv containing a Name column for the names of the new accounts. If you are performing an upsert: a. 1. see the Web Services API Developer's Guide. update. If your object name does not display in the default list. or delete existing records. Your CSV file must contain a column of ID values for matching against existing records. Click Browse. After your login completes successfully.

2. Click Choose an Existing Map to select an existing field mapping. and Developer Editions To update a large number of records at one time. Updating. Make sure your report includes the record ID. and then click Yes to confirm. see Defining Field Mappings on page 12. click View Errors to open your errors file. Even if the processing failed. Launch the Data Loader and follow the update wizard. Updating. or Deleting Data Using the Data Loader b. If the Bulk API continues to exceed the 10-minute limit on subsequent attempts. Unlimited. or by running a report. For every operation. As the operation proceeds. one file name starts with “success. to specify a directory for these files. Note that matching is done according to record ID. If your file includes the external IDs of an object that has a relationship to your chosen object. After the operation. split your file into smaller files.” while the other starts with “error. and try again. review your success and error log files. For more details and an example of usage. the Bulk API places the remainder of the file back in the queue for later processing. 3. See Reviewing Output Files on page 17.” Click Browse. so you must check the results. 5. Tip: • • If you are updating or deleting large amounts of data. enable that external ID for record matching by selecting its name from the drop-down list. See Exporting Data on page 11. 13. use the backup file to update the records to their previous values. a confirmation window summarizes your results. save an extra copy of the generated CSV file. the file is placed back in the queue and reprocessed up to 10 times before the operation is permanently marked as failed. Obtain your data by performing an export of the objects you wish to update. For more information. the Data Loader generates two unique CSV log files. Also. 4. 6. review Performing Mass Updates and Performing Mass Deletes for tips and best practices. Open your working file in a CSV editor such as Excel. If you get a timeout error when loading a file. As a backup measure. If you made a mistake. 8. or Deleting Data Using the Data Loader on page 13. There is a five-minute limit to process 100 records when the Bulk API is enabled. 14 . if it takes longer than 10 minutes to process a file. See Inserting.. Performing Mass Updates Available in: Enterprise. 11. If you make no selection here. Click Next. After the operation completes.Using Data Loader Inserting. 12.. Click View Successes to view your success file. we recommend the following steps: 1. Click Finish to perform the operation. Define how the columns in your CSV file map to Salesforce fields. or “Running Reports” in the Salesforce online help. you can use the related object's Id field for matching by mapping it in the next step. 9. or click Create or Edit a Map to create a new map or modify an existing map. Click Next to continue. 10. and update your data. see Reviewing Output Files on page 17. or click OK to close. some records could have completed successfully. a progress information window reports the status of the data movement.

If you are migrating attachments from a source Salesforce organization to a target Salesforce organization. (See Exporting Data on page 11. 3. see “Exporting Backup Data” in the Salesforce online help. Unlimited.. Name . Confirm that the CSV file you intend to use for attachment importing contains the following required columns (each column represents a Salesforce field): • • • ParentId . and Developer Editions To delete a large number of records at one time using the Data Loader. export the objects you wish to delete. being sure to select all fields. which causes the file Attachment. At the Select data objects step. For more information on the weekly export service.doc The CSV file can also include other optional Attachment fields. or Deleting Data Using the Data Loader on page 13. Uploading Attachments You can use the Data Loader to upload attachments to Salesforce. begin by requesting a weekly data export for the source organization.) Save an extra copy of the generated CSV file. Map only the ID column.the absolute path to the attachment on your local drive.gif 701300000000iNHAAY. Ensure that the values in the Body column contain the full file name of the attachments as they exist on your computer. 4. Before uploading attachments.the name of the attachment file.jpg.csv to be included in your export.C:\Export\attachment1. You can use this CSV file to upload the attachments.Body 50030000000VDowAAG. For example.attachment2. such as myattachment. Body must specify C:\Export\myattachment. 2. or Deleting Data Using the Data Loader on page 13. if an attachment named myattachment. 15 .Using Data Loader Uploading Attachments Performing Mass Deletes Available in: Enterprise.C:\Export\files\attachment2. this time using only the record ID as the desired criteria. Updating.jpg is located on your computer at C:\Export. such as Description. verify that Upload Bulk API Batch as Zip File (enable to upload binary attachments) on the Settings ➤ Settings page is enabled. Next.Name. review your success and error log files. Body . we recommend the following steps: 1. After the operation.. See Reviewing Output Files on page 17.jpg. see Inserting. On the Schedule Export page. checkbox. Launch the Data Loader and follow the delete or hard delete wizard. As a backup measure. Proceed with an insert or upsert operation. To upload attachments: 1. make sure to select the Show all Salesforce objects checkbox and the Attachment object name in the list. export the objects you wish to delete. Your CSV file might look like this: ParentId. 2. note the following: • • If you intend to upload via the Bulk API.jpg.attachment1.the Salesforce ID of the parent record. See Inserting. Updating. make sure to select the Include Attachments.doc.

Your SOQL query might look like this: Select Id. Description . Note: Files are converted to base64 encoding on upload. To determine the RecordTypeId values for your organization using the Data Loader. Do not use PathOnClient or VersionData to upload links. OwnerId . You can't export content using the Data Loader. When you upload a link using the Data Loader. Log in to Salesforce. VersionData identifies the location and extracts the format and PathOnClient identifies the type of document being uploaded.complete file path on your local drive (for uploading documents only). RecordTypeId . verify that Upload Bulk API Batch as Zip File (enable to upload binary attachments) on the Settings ➤ Settings page is enabled. use double quotes around the text. FirstPublishLocationId . and Developer Editions You can use the Data Loader to bulk upload documents and links into workspaces in Salesforce CRM Content.file name. Name FROM RecordType WHERE SobjectType = 'ContentVersion' To determine the RecordTypeId values for your organization using the AJAX Toolkit: a. • VersionData . you must specify the URL in ContentUrl.(optional) file owner.complete file path on your local drive (for uploading documents only). Note: If you publish to a workspace that has restricted content types. • • • • • PathOnClient .workspace ID. Note: If there are commas in the description.URL (for uploading links only). defaults to the user uploading the file. 16 . note the following: • • If you intend to upload via the Bulk API. • • 1. Unlimited. follow the steps in Exporting Data.content type ID.(optional) file or link description. Create a CSV file with the following fields: • • Title . Before uploading documents or links. you must specify RecordTypeId.Using Data Loader Uploading Content with the Data Loader Uploading Content with the Data Loader Available in: Enterprise. When you upload a document from your local drive using the Data Loader. ContentUrl . This adds approximately 30% to the file size. you must specify the actual path in the VersionData and PathOnClient fields in the CSV file.

Enter this URL in your browser: http://instanceName. The CSV file opens in a new window.pdf. A sample CSV file is: Title. Optionally. The default is 1000. To view the last error file.html. Click Close to return to the CSV Chooser window.one 2. Each row in the CSV file corresponds to one Salesforce record.Description. the Data Loader saves extracted data to a CSV file that you specify in the wizard.c:\files\testfile.058700000004Cd0. To view the last success file. For more information.012300000008o2sAQG. 3.FirstPublishLocationId. • TagsCsv . see Inserting. click Open Success.VersionData. The “error” file contains all records that were rejected from the load operation. In it. 17 .RecordTypeId. see Configuring the Data Loader on page 4.005000000000000.TagsCsv testfile. All documents and links will be available in the specified workspace. In it. Note: To generate success files when exporting data.PathOnClient. or Deleting Data Using the Data Loader on page 13. such as Microsoft® Office Excel. click Open Error. In the AJAX Toolkit Shell page type: sforce."This is a test file. c.0/debugshell. Reviewing Output Files Available in: Enterprise. 5. Specify a number of rows to view. click Open CSV.com/soap/ajax/21.salesforce. for your organization. and then click OK to exit the window. e. Upload the CSV file for the ContentVersion object. Updating. You can see the instanceName in the URL field of your browser after logging in to Salesforce.c:\files\testfile. Choose View CSV from the View menu of the Data Loader. 4.pdf. 2. and Developer Editions After every import or export. click Open in External Program to open the file in the associated external program. use for bulk upload". All of the RecordTypeId values for your organization are listed. The “success” file contains all records that were successfully loaded.” while the other starts with “error. The Data Loader has a built-in CSV file viewer with which you can open these files. the Data Loader generates two unique CSV output files.” During every export.(optional) tag. Click on the arrows for recordTypeInfos. To view a CSV file of your choice.describeSObject("ContentVersion") d.Using Data Loader Reviewing Output Files b. Press Enter. One file name starts with “success.OwnerId. there is a column that describes why the load failed. there is a column for newly generated record IDs. To view output files from a Data Loader operation: 1. select the Generate success files for exports setting. such as na1. Unlimited. Enter the instanceName.connection.

Log entries marked “INFO” are procedural items. If you are having login issues from the command line. If you are having login issues from the UI. such as logging in to Salesforce. Log entries marked “ERROR” are problems such as a submitted record missing a required field. You can quickly open these files by entering %TEMP%\sdl. See the following topics: • • • • • • • • • • • Understanding Installed Directories and Files Encrypting From the Command Line Upgrading Your Batch Mode Interface Using the Command Line Interface Configuring Batch Processes Data Loader Process Configuration Parameters Data Loader Command Line Operations Configuring Database Access Mapping Columns Running Individual Batch Processes Data Access Objects 18 . RUNNING BATCH PROCESSES Running in Batch Mode You can run the Data Loader in batch mode from the command line. Unlimited. The two log files are: sdl.com Customer Support.log and %TEMP%\sdl_out.log in either the Run dialog or the Windows Explorer address bar. These files can be opened with commonly available text editor programs. For example.Running Batch Processes Troubleshooting Data Loader Operations Troubleshooting Data Loader Operations Available in: Enterprise. you can access log files that track the operations and network connections made by the Data Loader. such as Microsoft Notepad. sdl_out. ensure that the password provided in the configuration parameters is encrypted. you may need to obtain a new security token. or if requested by salesforce.log A supplemental log that contains additional information not captured in sdl.log. it includes log entries for the creation of proxy server network connections.log Contains a detailed chronological list of Data Loader log entries. and Developer Editions If you need to investigate a problem with the Data Loader.

To use the encryption utility: 1.Running Batch Processes Understanding Installed Directories and Files Note: If you have used the batch mode from the command line with a version earlier than 8. see Using the Command Line Interface on page 20.0. For example. 2. At the command line.bat.0 and later. see Upgrading Your Batch Mode Interface on page 20. Encrypting From the Command Line When running the Data Loader in batch mode from the command line. File Path Convention The file paths provided in these topics start one level below the installation directory.proxyPassword Use the utility described below to perform encryption. provided you accepted the default installation directory.bat for encrypting passwords and process. and log-conf. you must encrypt the following configuration parameters: • • sfdc. Understanding Installed Directories and Files In versions 8. please substitute that directory path as appropriate. For information on running the Data Loader from the command line.properties file that is generated when you modify the Settings dialog in the graphical user interface is located at C:\Documents and Settings\your Windows username\Application Data\salesforce. You can copy this file to the conf installation directory to use it for batch processes. Run \bin\encrypt.bat for running batch processes. conf The default configuration directory. Contains the configuration files config.password sfdc. installing the Data Loader creates several directories under the installation directory. Using the Encryption Utility The Data Loader offers an encryption utility to secure passwords specified in configuration files. samples Contains subdirectories of sample files for reference. follow the prompts provided to execute the following actions: 19 .com\Data Loader version_number\bin.class. Loader. \bin means C:\Program Files \salesforce.properties. The following directories are involved in running the program from the command line for automated batch processing: bin Contains the batch files encrypt. The config. If you installed the program to a different location.xml.com\Data Loader version_number.

Continue to use that version for batch processes. verifies whether the encrypted password provided matches its decrypted version. your options are as follows: Maintain the old version for batch use Do not uninstall your old version of the Data Loader.properties file from the graphical user interface. Upgrading Your Batch Mode Interface The batch mode interface in versions 8. see Running Individual Batch Processes on page 35. then you must manually update it for the new version. Manually update your config. and Developer Editions For automated batch operations such as nightly scheduled loads and extractions. A success or failure message is printed to the command line. add -help to the command contained in process.properties file from the new GUI If you originally generated your config.properties file If your old config. Generate a new config.0 and later of the Data Loader are not backwards-compatible with earlier versions. but your integrations will continue to work. see Encrypting From the Command Line on page 19. For more information. be sure to include your encrypted password in the configuration file.xml. use the new version to set the same properties and generate a new file.bat. Verify encrypted text Given encrypted and decrypted versions of a password.bat. In the configuration file. see Running in Batch Mode on page 18. Optionally. Unlimited. From the command line. You cannot take advantage of newer features such as database connectivity. see Understanding Installed Directories and Files on page 19. The name of the batch process bean contained in process-conf. Before running any batch operation. navigate into the bin directory and type process. If you are using a version earlier than 8.0 to run batch processes. omitting any leading or trailing spaces. Using the Command Line Interface Available in: Enterprise. Encrypt text Generates an encrypted version of a password or other text.Running Batch Processes Upgrading Your Batch Mode Interface Generate a key Key text is generated onscreen from the text you provide. which takes the following parameters: • • The directory containing config. you can provide a key file for the encryption. make sure that the encrypted text is copied precisely and the key file is mentioned. For more information about using process.properties file was created manually.bat. The key file can then be used for encryption and decryption. install the new version alongside the old version and dedicate the old version solely to batch processes. To view tips and instructions. 20 . Optionally.properties. run Data Loader from the command line. Use this new file with the new batch mode interface. For more information. For more information. Carefully copy the key text to a key file.

If you do not specify a configuration directory.properties. see the following blog post for command line instructions: http://blog. configOverrideMap A property of type map where each entry represents a configuration setting: the key is the setting name. or map is specified in the configuration file that you specify. please try re-encrypting your password to solve the problem. If you use process-conf.sforce.properties file is used for parameter settings.xml. output files containing information about the last run. this value is not used because the files are not generated. such as sendAccountsFile_lastrun.operation=insert to the command changes the configuration at runtime. are generated and saved to the location specified by lastRunOutputDirectory.xml to configure your Data Loader processes. the config.0 and later. use a copy of log-conf. If set to false. enableLastRunOutput If set to true (the default). the value is the setting value. see Encrypting From the Command Line on page 19.com\Data Loader version number\conf The batch process configuration file is process-conf. You can change parameters at runtime by giving param=value as program arguments. For more information on batch mode.xml. The default value is \conf. setting process. Configuring Batch Processes Use \samples\conf\process-conf. such as sendAccountsFile_lastrun. the files are not generated or saved. Data Loader configuration files are installed at the following location: C:\Program Files\salesforce. If enableLastRunOutput is set to false.properties.xml. which are represented by ProcessRunner beans. For information on the password encryption utility. are written. This value is also used as the non-generic thread name and for configuration backing files (see below). If you have an earlier version of the Data Loader.Running Batch Processes Configuring Batch Processes The Data Loader runs whatever operation. If you want to implement enhanced logging. For example. the current directory is used. A process should have ProcessRunner as the class attribute and the following properties set in the configuration file: name Sets the name of the ProcessRunner bean. see Running in Batch Mode on page 18. Note: These topics only apply to version 8.name to the name of a process specifies a process to run. lastRunOutputDirectory The directory location where output files containing information about the last run. You can set the minimum and maximum heap size.com/sforce/2005/06/sforce_data_loa.html Tip: If you experience login issues in the command line interface after upgrading to a new version of the Data Loader. 21 . Otherwise. By default. adding process. file. -Xms256m -Xmx256m sets the heap size to 256 MB. For example.

databaseWrite.Running Batch Processes Data Loader Process Configuration Parameters The configuration backing file stores configuration parameter values from the last run for debugging purposes. The maximum value is 200. see Data Loader Process Configuration Parameters on page 22. the option is also represented in the graphical user interface at Settings ➤ Settings. Standard types are csvWriter. UTF-8 encoding Sample value: true dataAccess. dataAccess. The settings in configOverrideMap take precedence over those in the configuration backing file.writeUTF8 boolean dataAccess. and databaseRead.writeBatchSize integer N/A 22 .properties. The configuration backing file is managed programmatically and does not require any manual edits. you can specify the following configuration parameters in config. For the names and descriptions of available process configuration parameters. Note the implication for a large parameter value: if an error occurs.properties.csv Number of records read from your back-end or other external database at a time.type string N/A Sample value: csvWrite Number of records written to your back-end or other external database at a time. Data Loader Process Configuration Parameters When running the Data Loader in batch mode from the command line. all records in dataAccess.xml. even if they were saved in a different CSVs with format.readUTF8 boolean dataAccess. dataAccess. use the name of the database configuration in database-conf. In some cases. For databases.readBatchSize integer N/A Sample value: 50 Standard or custom data source type.000. Parameter Name Data Type Equivalent Option in Settings Dialog Description This option forces files to open in UTF-8 Read all encoding. and is used to load default configuration parameters in config. UTF-8 encoding Sample value: true Write all This option forces files to be written in UTF-8 CSVs with encoding. Sample value: c:\dataloader\data\extractLead.name string Not applicable (N/A) Name of the data source to use. The maximum value is 2. such as a CSV file name. csvRead.

Sample value: 500 Generate Select this option to generate a success file when success exporting data. you can change the location of the directory where these files are saved.lastRunOutputDirectory. For process.423-0700 When running the Data Loader in batch mode.key The initial setting for the process. In contrast. using process.lastRunDate parameter. you can disable the generation of output files such as sendAccountsFile_lastRun. process. each record is processed individually (not in batch) and errors are specific to a given record. For an explanation of the date format syntax. set this option to false.properties. See Encrypting From the Command Line on page 19. We recommend setting the value to 1 when you need to diagnose problems with writing to a database.enableExtractSuccessOutput boolean When running the Data Loader in batch mode. To stop the writing of these files. which can be used in a SQL string and is automatically updated when a process has run successfully. Files of this type are saved by default to the conf directory. see Date Formats on page 9. files for Sample value: true exports process.initialLastRunDate date N/A example: 2006-04-13T13:50:32.enableLastRunOutput boolean N/A Sample value: true Name of the file that contains the encryption key. Format must be yyyy-MM-ddTHH:mm:ss. process. you can change the location where output files such as process.encryptionKeyFile string (file name) N/A Sample value: c:\dataloader\conf\my.Running Batch Processes Data Loader Process Configuration Parameters Parameter Name Data Type Equivalent Option in Settings Dialog Description the batch are rolled back. if the value is set to 1. Alternatively.SSS+/-HHmm.lastRunOutputDirectory string (directory) N/A 23 .

Sample value: N/A c:\dataloader\status\myProcessSuccesses.operation string N/A Sample value: extract The directory where “success” and “error” output files are saved.loadRowToStartAt number Start at row Sample value: 1008 Name of the the field mapping file to use.Running Batch Processes Data Loader Process Configuration Parameters Parameter Name Data Type Equivalent Option in Settings Dialog Description sendAccountsFile_lastRun. change the value of this option to the full path where the last run files should be written. Alternatively. using process.mappingFile string (file name) N/A c:\dataloader\conf\accountExtractMap.enableLastRunOutput. The file names are automatically generated for each operation unless you specify otherwise in process-conf. you can stop the files from being written. See Mapping Columns on page 34.sdl The operation to perform. Sample value: process. Files of this type are saved by default to the conf directory.csv The name of the CSV file that stores success data from the last operation. process.xml. See also process.csv 24 . Sample value: process.outputError string (file name) N/A c:\dataloader\status\myProcessErrors. If your last operation failed.statusOutputDirectory string (directory) N/A process. process. Sample value: c:\dataloader\status The name of the CSV file that stores error data from the last operation. you can use this setting to begin where the last successful operation finished. To change the location.outputSuccess string (file name) on page 23. See Data Loader Command Line Operations on page 30.enableExtractSuccessOutput process.properties are written.

assignmentRule string Assignment Sample value: 03Mc00000026J7w Rule The number of milliseconds to wait between successive checks to determine if the asynchronous Bulk API operation is complete or how many records have been processed. and upserts.useBulkApi.bulkApiZipContent boolean sfdc. and upserts on cases and leads.bulkApiCheckStatusInterval integer N/A Sample value: 5000 Select this option to use serial instead of parallel processing for the Bulk API. See also sfdc.connectionTimeoutSecs integer N/A Sample value: 60 25 . updates. updates. the load may fail. When this is severe. Sample value: true The number of seconds to wait for a connection during API calls. Processing in parallel can cause database contention.useBulkApi. It also applies to updates on accounts if your organization has territory assignment rules on accounts.bulkApiSerialMode boolean Enable serial mode for Bulk API Upload Bulk API Batch as Zip File (enable to upload binary attachments) Select this option to use the Bulk API to upload zip files containing binary attachments. This option applies to inserts. Sample value: false sfdc. See also sfdc. such as Attachment records or Salesforce CRM Content. Note that using this option may significantly increase the processing time for a load. Using serial mode guarantees that batches are processed one at a time.useEuropeanDates boolean sfdc. sfdc. Sample value: true Specify the ID of the assignment rule to use for inserts. We recommend a value of 5000. sfdc.Running Batch Processes Data Loader Process Configuration Parameters Parameter Name Data Type Equivalent Option in Settings Dialog Use European Date Format Description Select this option to support the date formats dd/MM/yyyy and dd/MM/yyyy HH:mm:ss. See also sfdc.useBulkApi. The assignment rule overrides Owner values in your CSV file. process.

sfdc.maxRetries on page 27 and sfdc. messages are sent to STDOUT unless you specify an alternate location in sfdc. As the file does not have a size limit. For more information about external IDs.com. The maximum value is 2.salesforce. Stores SOAP messages sent to or from Salesforce.Running Batch Processes Data Loader Process Configuration Parameters Parameter Name Data Type Equivalent Option in Settings Dialog Description If true. Larger values sfdc. they are appended to the end of the file. By default. sfdc. records are returned from Salesforce in increments of this size. please monitor your available disk storage appropriately.0 The Salesforce object used in the operation.extractionRequestSize integer 26 .minRetrySleepSecs on page 27.debugMessagesFile.enableRetries boolean N/A Sample value: true Enter the URL of the Salesforce server with which you want to communicate.salesforce. sfdc.externalIdField string N/A Query Request Size Sample value: LegacySKU__c In a single export or query operation. change the URL to https://test. Sample value: N/A \lexiloader\status\sfdcSoapTrace. As messages are sent or received. See sfdc.enableExtractSuccessOutput sfdc. if you are loading into a sandbox.log If true. sfdc. For example.debugMessagesFile string (file name) on page 23.endpoint URL Server Host Sample production value: https://login.000. enables repeated attempts to connect to Salesforce servers. specifies the custom field with the “External ID” attribute that are used as a unique identifier for data matching.entity string N/A Sample value: Lead Used in upsert operations.com/services/Soap/u/21. sfdc. see “Custom Field Attributes” in the Salesforce online help.debugMessages boolean N/A Sample value: false See process. enables SOAP message debugging.

Sample value: SELECT Id.insertNulls boolean Insert Null Values Enable this option to insert blank mapped values as null values during data operations.noCompression boolean Compression Sample value: false 27 . records moving to or from Salesforce are processed in increments of this size. sfdc. sfdc. enable this option. The wait time increases with each try.Running Batch Processes Data Loader Process Configuration Parameters Parameter Name Data Type Equivalent Option in Settings Dialog Description may improve performance. You may want to disable compression if you need to debug the underlying SOAP messages. see the Web Services API Developer's Guide. See sfdc.maxRetries integer N/A Sample value: 3 The minimum number of seconds to wait between connection retries. Rating. this option instructs the Data Loader to overwrite any existing data in mapped fields.loadBatchSize integer Batch Size Sample value: 100 The maximum number of repeated attempts to connect to Salesforce. or delete operation. LastName. sfdc. OwnerId FROM Lead string N/A sfdc. sfdc.extractionSOQL FirstName. Sample value: 500 The SOQL query for the data export.enableRetries on page 26. For more information on SOQL. We recommend a value between 50 and 100. Sample value: false In a single insert. but use more memory on the client. sfdc.minRetrySleepSecs integer N/A Sample value: 2 Compression enhances the performance of the Data Loader and is turned on by default. Note that when you are updating records. The maximum value is 200. See sfdc. To turn off compression. update.enableRetries on page 26. AnnualRevenue. upsert.

internal.endpoint.proxyUsername string Sample value: jane. the time zone of the computer where Data Loader is installed is used. Salesforce resets the URL after login to the one specified in sfdc. sfdc. sfdc. if applicable. Sample value: 4285b36161c65a22 The proxy server port.resetUrlOnLogin boolean Reset URL on Login Sample value: false Specify how many seconds the Data Loader waits to receive a response back from the server before returning an error for the request.proxyUsername on page 28. sfdc.timeZone string Time zone 28 .timeoutSecs integer Timeout Sample value: 540 If a date value does not include a time zone.Running Batch Processes Data Loader Process Configuration Parameters Parameter Name Data Type Equivalent Option in Settings Dialog Description sfdc. sfdc. See also Encrypting From the Command Line on page 19. See also Encrypting From the Command Line on page 19.company. sfdc.proxyHost URL Proxy Host Sample value: http://myproxy.username on page 30. disable this option.proxyPassword encrypted Proxy string Password Proxy Port Proxy Username An encrypted password that corresponds to the proxy username provided in sfdc.To turn off this automatic reset.doe By default. the value specified here is used. Sample value: 4285b36161c65a22 The host name of the proxy server.proxyPort integer Sample value: 8000 The username for proxy server authentication. sfdc. • If no value is specified.password encrypted string N/A An encrypted Salesforce password that corresponds to the username provided in sfdc.com sfdc.

upsert. GMT is used as the time zone and this fact is noted in the Data Loader log. Phone. The Bulk API is optimized to load or delete a large number of records asynchronously. be used instead of the new behavior in Data Loader versions 15.bulkApiSerialMode.0 and earlier. Select this option to direct the Data Loader to truncate data in the following types of fields when loading that data into Salesforce: Email. update. the load operation fails for the row if a value is specified that is too large for the field. values for fields of those types are truncated by the Data Loader if they are too large. See also sfdc. In Data Loader versions 14. and Text (Encrypted). the load operation fails if a value is specified that is too large. delete. Multi-select Picklist.lang. Valid values are any time zone identifier which can be passed to the Java getTimeZone(java. It is faster than the default SOAP-based API due to parallel processing and fewer network round-trips. The value can be a full name such as America/Los_Angeles. In that case.getDefault() method in Java.Running Batch Processes Data Loader Process Configuration Parameters Parameter Name Data Type Equivalent Option in Settings Dialog Description • If an incorrect value is entered. and hard delete records.truncateFields boolean Allow field truncation Sample value: true sfdc. truncation. In Data Loader version 15. Text. sfdc. This option is not available if the Use Bulk API option is selected.String) method. Picklist. This value is the time zone on the computer where Data Loader is installed. 29 . or a custom ID such as GMT-8:00. Selecting this option allows you to specify that the previous behavior.0 and later.useBulkApi boolean Use Bulk API Select this option to use the Bulk API to insert.0 and later. This option is selected by default and has no effect in versions 14.0 and earlier. You can retrieve the default value by running the TimeZone.

password on page 28. where existing records with matching ID fields are deleted. where existing records with matching ID fields are deleted without being stored first in the Recycle Bin.username string N/A Sample value: jdoe@mycompany. Soft-deleted records are not included. Extract Uses a Salesforce Object Query Language (SOQL) string to export a set of records from Salesforce. Update Loads data from a data source into Salesforce. Upsert Loads data from a data source into Salesforce. records without matches are inserted as new records. sfdc.xml to configure database access objects. Configuring Database Access When you run the Data Loader in batch mode from the command line. where existing records with matching ID fields are updated. Extract All Uses a Salesforce Object Query Language (SOQL) string to export a set of records from Salesforce. then writes the exported data to a data source. Delete Loads data from a data source into Salesforce. An operation represents the flow of data between Salesforce and an external data source such as a CSV file or a database. 30 . several operations are supported. use \samples\conf\database-conf. Insert Loads data from a data source into Salesforce as new records. then writes the exported data to a data source. where existing records with a matching custom external ID field are updated.com Data Loader Command Line Operations When running the Data Loader in batch mode from the command line. which you use to extract data directly from a database. Hard Delete Loads data from a data source into Salesforce. See the following list of operation names and descriptions. including both existing and soft-deleted records.Running Batch Processes Data Loader Command Line Operations Parameter Name Data Type Equivalent Option in Settings Dialog Description Sample value: true Salesforce username. See sfdc.

internal. DataSource Example <bean id="oracleRepDataSource" class="org.com:1521:TEST"/> <property name="username" value="test"/> <property name="password" value="test"/> </bean> 31 .Running Batch Processes Configuring Database Access DatabaseConfig Bean The top-level database configuration object is the DatabaseConfig bean. DatabaseConfig Example <bean id="AccountInsert" class="com.BasicDataSource" destroy-method="close"> <property name="driverClassName" value="oracle.salesforce.DataSource such as org.driver.salesforce.sql.BasicDataSource.OracleDriver"/> <property name="url" value="jdbc:oracle:thin:@myserver. password The password for logging in to the database. additional information may be required. url The string for physically connecting to the database.jdbc.commons. For example. Depending on your implementation. It must refer to an implementation of javax.apache. username The username for logging in to the database.commons. It contains the following properties: driverClassName The fully qualified name of the implementation of a JDBC driver.DatabaseConfig" singleton="true"> <property name="sqlConfig" ref="accountInsertSql"/> </bean> DataSource The DataSource bean sets the physical information needed for database connections.dataloader.apache.dbcp. which has the following properties: sqlConfig The SQL configuration bean for the data access object that interacts with a database.dbcp.BasicDataSource when database connections are pooled.commons.dao.dbcp.database. use org. dataSource The bean that acts as database driver and authenticator.apache.

Note that salesforce.salesforce. Use database-conf. SQL Configuration When running the Data Loader in batch mode from the command line. see the official documentation and the support forums.dao. csvWrite Allows writing to a comma or tab-delimited file.xml to configure database access. the SqlConfig class contains configuration parameters for accessing specific data in the database.SqlConfig and have the following properties: sqlString The SQL code to be used by the data access object. databaseWrite Allows writing to a database. csvRead Allows the reading of a comma or tab-delimited file. Use database-conf. several data access objects are supported. or both.database.Running Batch Processes Configuring Database Access Spring Framework Overview The Data Loader configuration files are based on the Spring Framework. For more information. They can implement a read interface (DataReader). The bean must be of type com. A header row is added to the top of the file based on the column list provided by the caller. As shown in the code samples below. which is an open source full-stack Java/J2EE application framework. the parameters correspond to each object's setter methods. see Configuring Database Access on page 30. See the following list of object names and descriptions. a write interface (DataWriter). There should be a header row at the top of the file that describes each column. databaseRead Allows the reading of a database. For more information. class Specifies the implementation class for the bean instance. which is the class that gets objects from an XML configuration file.dataloader. The Spring Framework allows you to use XML files to configure beans. see Configuring Database Access on page 30. A data access object allows access to an external data source outside of Salesforce. Each bean represents an instance of an object. For more information on the Spring Framework. A typical bean has the following attributes: id Uniquely identifies the bean to XmlBeanFactory. queries and inserts are different but very similar. 32 .com cannot guarantee the availability or accuracy of external websites.xml to configure database access. Data Access Objects When running the Data Loader in batch mode from the command line.

last_update_date > @process.salesforce.PARTY_ID and locs.last_update_date > @process. the value is the fully qualified Java type to be used when the parameter is set on the SQL statement. ar.lastRunDate@ OR accounts. SQL Query Bean Example <bean id="accountMasterSql" class="com. parties.lastRunDate@ </value> </property> <property name="columNames"> <list> <value>recordTypeId</value> <value>account_number</value> <value>organization_name</value> <value>billing_address</value> <value>city</value> <value>postal_code</value> <value>state</value> <value>country</value> <value>sic_code</value> </list> </property> <property name="sqlParams"> 33 .address1. ' '). For example.organization_name.dataloader. Contains column names for the data outputted by executing the SQL.LOCATION_ID and (locs. org.PARTY_ID = org.PARTY_ID = accounts. locs.util.Date.hz_cust_accounts accounts. ar. parties.address2) billing_address. ar.hz_organization_profiles org. Note that “java. sqlParams A property of type map that contains descriptions of the replacement parameters specified in sqlString. The column names are used to access and return the output to the caller of the DataReader interface.Date instead of java. concat (concat(parties.database.country. locs.SqlConfig" singleton="true"> <property name="sqlString"/> <value> SELECT distinct '012x00000000Ij7' recordTypeId.sql” types are sometimes required.PARTY_ID = accounts.city. locs. ar. Each entry represents one replacement parameter: the key is the replacement parameter's name. see the official JDBC API documentation.Running Batch Processes Configuring Database Access The SQL can contain replacement parameters that make the string dependent on configuration or operation variables.sic_code from ar.LOCATION_ID = party_sites.state.hz_party_sites party_sites.lastRunDate@. accounts.hz_locations locs where accounts.account_number.PARTY_ID and parties. @process.dao.sql.postal_code.hz_parties parties. Replacement parameters must be delimited on both sides by “@” characters.PARTY_ID and party_sites. For more information. such as java. columnNames Used when queries (SELECT statements) return a JDBC ResultSet. locs.

SLA__C=SLA__c BILLINGCITY=BillingCity SYSTEMMODSTAMP= OWNERID=OwnerId CUSTOMERPRIORITY__C=CustomerPriority__c ANNUALREVENUE=AnnualRevenue DESCRIPTION=Description 34 . You may map constants by surrounding them with double quotation marks. Surround constants with double quotation marks. SIC_CODE) VALUES (@billing_address@. In your configuration file.Running Batch Processes Mapping Columns <map> <entry key="process. Column Mapping Example for Data Insert The Salesforce fields are on the right. you must create a properties file that maps values between Salesforce and data access objects. and the destination on the right.database.SqlConfig" singleton="true"> <property name="sqlString"/> <value> INSERT INTO REP. 2. an equals sign (=) as a separator.sql.mappingFile to specify the name of your mapping file.String"/> </map> </property> </bean> Mapping Columns When running the Data Loader in batch mode from the command line. pair a data source with its destination. as in "United States"=BillingCountry.dao. 1. Values without quotation marks are treated as column names.Date"/> </map> </property> </bean> SQL Insert Bean Example <bean id="partiesInsertSql" class="com. use the parameter process. Destinations must be column names. 3. Observe the following syntax: • • • • • On each line. @sic_code@) </value> </property> <property name="sqlParams"/> <map> <entry key="billing_address" value="java.lang. Put the data source on the left.INT_PARTIES ( BILLING_ADDRESS.salesforce.dataloader. as in “sampleconstant”. Data sources can be either column names or constants. Create a new file.String"/> <entry key="sic_code" value="java.lastRunDate" value="java.lang.

/conf accountMasterProcess Note: You can configure external process launchers such as the Microsoft Windows XP Scheduled Task Wizard to run processes on a schedule.Running Batch Processes Running Individual Batch Processes BILLINGSTREET=BillingStreet SHIPPINGSTATE=ShippingState Column Mapping Example for Data Export The Salesforce fields are on the left..6 License http://www. To use an alternate directory.xml. create a new directory and add the following files to it: • • • If your process is not interactive. Process Example process .1 1.xml from \samples\conf.1 35 .org/licenses/LICENSE-1. Data Loader Third-Party Licenses Available in: Enterprise. copy process-conf. which requires the following parameters: A configuration directory The default is \conf. Id=account_number Name=name Phone=phone Running Individual Batch Processes To start an individual batch process use \bin\process.bat.1 http://www. A process name The name of the ProcessRunner bean from \samples\conf\process-conf.apache. copy database-conf. Unlimited.xml from \samples\conf. Copy config.apache.org/licenses/LICENSE-1.properties from \conf. If your process requires database connectivity. and Developer Editions The following third-party licenses are included with the installation of the Data Loader: Technology Axis Ant Apache Jakarta Commons BeanUtils Version Number 1.

0.1.html http://www.Running Batch Processes Data Loader Third-Party Licenses Technology Apache Commons Collections Apache Commons Database Connection Pooling (DBCP) Apache Commons Logging Version Number 3. 36 .txt http://www.5.org/commons/license.opensymphony.org/licenses/LICENSE-2.html http://jakarta.html http://www.apache.0.html http://jakarta.apache.8 3.apache.6 Note: salesforce.org/org/documents/epl-v10.action http://www.063 OpenSymphony Quartz Enterprise 1.1 1.2.2.2.org/MPL/MPL-1.org/commons/license.3 License http://jakarta.2 Library Apache Log4j Eclipse SWT 1.com/quartz/license.eclipse.org/commons/license.apache.html http://jakarta.1 1.apache.0.txt Apache Commons Object Pooling 1.mozilla.html http://www.org/commons/license.apache.6R2 1.org/licenses/LICENSE-2.com is not responsible for the availability or content of third-party websites.1 Job Scheduler Rhino JavaScript for Java Spring Framework 1.

8 uploading attachments 15 D Data Loader attachments 8 batch files 19 batch mode 18 batch mode parameters 22 Bulk API 4.properties 22 configuring 4. 8 S Spring Framework. 16 column mapping 34 command line interface 20 command line operations 30 config. 8.Index Index A Apex Data Loader See Data Loader 1 Data Loader (continued) configuring batch processes 21 data types 9 date formats 9 installed files 19 installing 3 overview 1 password encryption 19 sample files 19 settings 7. see Data Loader 32 37 . 8 Spring Framework 32 starting batch processes 35 system requirements 3 third-party licenses 35 troubleshooting 18 uninstalling 8 uploading 16 uploading attachments 15 using 7 when to use 2 B Bulk API 4. 7.

Sign up to vote on this title
UsefulNot useful