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

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

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

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

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

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

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

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

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

“n”. Base64 fields are only used to insert or update attachments and Salesforce CRM Content. “1” False values (case insensitive) = “no”.SSSPST yyyy-MM-dd'T'HH:mm:ss. “off ”.SSSPacific Standard Time yyyy-MM-dd'T'HH:mm:ss. “false”. For more information. Unlimited.SSS Pacific Standard Time yyyy-MM-dd'T'HH:mm:ss. see Uploading Attachments on page 15 and Uploading Content with the Data Loader on page 16. “on”. “0” Date Formats We recommend you specify dates in the format yyyy-MM-ddTHH:mm:ss. “true”.SSS -800 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.SSSGMT-08:00 yyyy-MM-dd'T'HH:mm:ss.SSS GMT-08:00 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).SSS-800 yyyy-MM-dd'T'HH:mm:ss 9 . Boolean • • True values (case insensitive) = “yes”.SSS PST 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. “y”.SSS'Z' yyyy-MM-dd'T'HH:mm:ss.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

8 S Spring Framework. 8 Spring Framework 32 starting batch processes 35 system requirements 3 third-party licenses 35 troubleshooting 18 uninstalling 8 uploading 16 uploading attachments 15 using 7 when to use 2 B Bulk API 4. 7.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. 8 uploading attachments 15 D Data Loader attachments 8 batch files 19 batch mode 18 batch mode parameters 22 Bulk API 4. 16 column mapping 34 command line interface 20 command line operations 30 config.properties 22 configuring 4. see Data Loader 32 37 .

Sign up to vote on this title
UsefulNot useful