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

When exporting data. you work interactively to specify the configuration parameters. the Data Loader reads. 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. and the field mappings that map the field names in your import file with the field names in Salesforce. When you use the user interface. Note: If commas are not appropriate for your locale. and Developer Editions The Data Loader is a client application for the bulk import or export of data. it outputs CSV files. see the following topics: • • When to Use the Data Loader Installing the Data Loader 1 . You can use Data Loader interactively through its user interface. we encourage you to use Data Loader on Windows 7 instead. When you set up batch processes through the command line. or set up automated batch processes launched from the command line. delete. Unlimited.DATA LOADER Data Loader Overview Available in: Enterprise. Use it to insert. and actions in files used for automated processing. Note: If you are currently using Windows 2000. and loads data from comma separated values (CSV) files or from a database connection. update. To get started. an open source version of Data Loader is available here. extracts. 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. you specify the configuration. use a tab or other delimiter. mappings. When importing data. or export Salesforce records. data sources. CSV files used for import and export.

You need to load into an object that is not yet supported by web-based importing. such as nightly imports. contact email address. 2 .000 records. the Data Loader has been known as the “AppExchange Data Loader“ and the “Sforce Data Loader.Data Loader When to Use the Data Loader Note: In previous versions.com partner. If you need to load more than 5.000 records.000. 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.000 records.” When to Use the Data Loader Available in: Enterprise. You want to schedule regular data loads.000. or lead email address. You want to prevent duplicates by uploading records according to account name and site. You want to export your data for backup purposes. we recommend you work with a Salesforce. Unlimited.000 to 5. The object you need to import is supported by the web-based import wizards. and Developer Editions The Data Loader complements the web-based import wizards that are accessible from the Setup menu in the online application.

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

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

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

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

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. 7 . if applicable. The password for proxy server authentication. The name of the Windows domain used for NTLM authentication. 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. If your last operation failed. Start at row 4. 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. 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. Allow field truncation This option directs Data Loader to truncate data for certain field types when the Bulk API is disabled. Proxy Host Proxy Port Proxy Username Proxy Password Proxy NTLM domain The host name of the proxy server. One important difference is that it allows you execute a hard delete if you have the administrative permission and license. The username for proxy server authentication. or a custom ID such as GMT-8:00. Click OK to save your settings. you can use this setting to begin where the last successful operation finished. For more information. To set a field value to null when the Use Bulk API option is selected. use a field value of #N/A. The proxy server port. However.

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

SSSPST yyyy-MM-dd'T'HH:mm:ss. Base64 fields are only used to insert or update attachments and Salesforce CRM Content. “n”.SSS GMT-08:00 yyyy-MM-dd'T'HH:mm:ss. “true”.SSS'Z' yyyy-MM-dd'T'HH:mm:ss. For more information. “on”. and Developer Editions Data Loader supports the following data types: Base64 String path to file (converts the file to a base64–encoded array). “1” False values (case insensitive) = “no”. “y”.Using Data Loader Data Types Supported by the Data Loader USING DATA LOADER Data Types Supported by the Data Loader Available in: Enterprise. “0” Date Formats We recommend you specify dates in the format yyyy-MM-ddTHH: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. “off ”.SSS -800 yyyy-MM-dd'T'HH:mm:ss.SSS PST yyyy-MM-dd'T'HH:mm:ss.SSSGMT-08:00 yyyy-MM-dd'T'HH:mm:ss. Boolean • • True values (case insensitive) = “yes”.SSSPacific Standard Time yyyy-MM-dd'T'HH:mm:ss.SSS Pacific Standard Time yyyy-MM-dd'T'HH:mm:ss. “false”. see Uploading Attachments on page 15 and Uploading Content with the Data Loader on page 16. Unlimited.SSS-800 yyyy-MM-dd'T'HH:mm:ss 9 .

” Only dates within a certain range are valid. If your computer's locale is east of Greenwich Mean Time (GMT). or just after midnight on December 31. select the Use European date format box in the Settings dialog. 1700.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. Note: These values are offset by your timezone. the earliest valid date is 1699-12-31T16:00:00. invalid XML characters are removed. 10 . Tip: To ensure data quality. A knowledge base solution for this issue is available in the Salesforce Help & Training window. For example. European date formats aredd/MM/yyyy and dd/MM/yyyy HH:mm:ss. 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. The latest valid date is 4000-12-31T00:00:00Z GMT. search for “data loader date. or just after midnight on January 1. 1699. make sure that all Salesforce IDs you enter in the Data Loader are in the correct case. or 4:00 PM on December 31. The earliest valid date is 1700-01-01T00:00:00Z GMT. in the Pacific timezone. 4000. • 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.

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

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

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

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

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

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

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

For example. These files can be opened with commonly available text editor programs. it includes log entries for the creation of proxy server network connections. The two log files are: sdl.log Contains a detailed chronological list of Data Loader log entries. you can access log files that track the operations and network connections made by the Data Loader. Log entries marked “INFO” are procedural items. 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 . or if requested by salesforce.log and %TEMP%\sdl_out. If you are having login issues from the UI.com Customer Support.log A supplemental log that contains additional information not captured in sdl. such as Microsoft Notepad. RUNNING BATCH PROCESSES Running in Batch Mode You can run the Data Loader in batch mode from the command line. you may need to obtain a new security token. and Developer Editions If you need to investigate a problem with the Data Loader. such as logging in to Salesforce. You can quickly open these files by entering %TEMP%\sdl. Unlimited. Log entries marked “ERROR” are problems such as a submitted record missing a required field. sdl_out.log in either the Run dialog or the Windows Explorer address bar.Running Batch Processes Troubleshooting Data Loader Operations Troubleshooting Data Loader Operations Available in: Enterprise.log. ensure that the password provided in the configuration parameters is encrypted. If you are having login issues from the command line.

Understanding Installed Directories and Files In versions 8. For example. Encrypting From the Command Line When running the Data Loader in batch mode from the command line.xml. For information on running the Data Loader from the command line. File Path Convention The file paths provided in these topics start one level below the installation directory.properties. see Using the Command Line Interface on page 20. The following directories are involved in running the program from the command line for automated batch processing: bin Contains the batch files encrypt. conf The default configuration directory.bat.com\Data Loader version_number\bin. installing the Data Loader creates several directories under the installation directory. see Upgrading Your Batch Mode Interface on page 20. 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. 2.com\Data Loader version_number.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. The config. please substitute that directory path as appropriate. and log-conf.0. follow the prompts provided to execute the following actions: 19 . Loader.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.class. provided you accepted the default installation directory.password sfdc. You can copy this file to the conf installation directory to use it for batch processes. If you installed the program to a different location.0 and later.proxyPassword Use the utility described below to perform encryption. \bin means C:\Program Files \salesforce.bat for running batch processes. Contains the configuration files config. To use the encryption utility: 1. Run \bin\encrypt.bat for encrypting passwords and process. you must encrypt the following configuration parameters: • • sfdc. At the command line.

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

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

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

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

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

See also sfdc.useBulkApi. Processing in parallel can cause database contention. The assignment rule overrides Owner values in your CSV file. See also sfdc. and upserts. updates. sfdc. It also applies to updates on accounts if your organization has territory assignment rules on accounts. the load may fail. such as Attachment records or Salesforce CRM Content. sfdc.useEuropeanDates boolean sfdc.bulkApiZipContent boolean sfdc. Using serial mode guarantees that batches are processed one at a time. Sample value: true The number of seconds to wait for a connection during API calls. When this is severe. Sample value: true Specify the ID of the assignment rule to use for inserts. and upserts on cases and leads.useBulkApi. This option applies to inserts.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.useBulkApi. Note that using this option may significantly increase the processing time for a load. Sample value: false sfdc. We recommend a value of 5000.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. updates.connectionTimeoutSecs integer N/A Sample value: 60 25 . See also sfdc.bulkApiCheckStatusInterval integer N/A Sample value: 5000 Select this option to use serial instead of parallel processing for the Bulk API. process.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.

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

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

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

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

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

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

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

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

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

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

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

7. see Data Loader 32 37 .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. 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. 8 uploading attachments 15 D Data Loader attachments 8 batch files 19 batch mode 18 batch mode parameters 22 Bulk API 4. 8. 8 S Spring Framework. 16 column mapping 34 command line interface 20 command line operations 30 config.properties 22 configuring 4.

Sign up to vote on this title
UsefulNot useful