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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Unlimited. 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./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.properties from \conf.1 1. Data Loader Third-Party Licenses Available in: Enterprise.org/licenses/LICENSE-1. If your process requires database connectivity.6 License http://www.xml.xml from \samples\conf. create a new directory and add the following files to it: • • • If your process is not interactive. A process name The name of the ProcessRunner bean from \samples\conf\process-conf.1 http://www. Id=account_number Name=name Phone=phone Running Individual Batch Processes To start an individual batch process use \bin\process.1 35 . Process Example process ..xml from \samples\conf.bat.org/licenses/LICENSE-1.apache. To use an alternate directory. copy process-conf. which requires the following parameters: A configuration directory The default is \conf. Copy config. copy database-conf.apache.

apache.mozilla.0.apache.063 OpenSymphony Quartz Enterprise 1.eclipse.org/commons/license.apache.org/org/documents/epl-v10.com/quartz/license.8 3.org/commons/license.5.html http://www.apache.0.org/licenses/LICENSE-2.apache.2 Library Apache Log4j Eclipse SWT 1.html http://jakarta.6 Note: salesforce.action http://www.txt http://www.org/licenses/LICENSE-2.org/commons/license.txt Apache Commons Object Pooling 1.3 License http://jakarta.2.com is not responsible for the availability or content of third-party websites.1 1. 36 .2.0.html http://jakarta.2.html http://jakarta.opensymphony.org/commons/license.html http://www.apache.html http://www.6R2 1.1.1 1.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/MPL/MPL-1.1 Job Scheduler Rhino JavaScript for Java Spring Framework 1.

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

Sign up to vote on this title
UsefulNot useful