---
schema_version: "1"
id: 57ff517b1c0b23e81683dac9e49cb0af56163791d53de449037872c290d37071
title: Access External Data with Data Access Objects
collection: developer
version: current
locale: en-us
portal_url: https://docs.salesforce.com/developer/current/en-us/platform/data-loader-impl/guides/data-loader/loader-accessobjects.md
canonical_url: https://developer.salesforce.com/docs/platform/data-loader-impl/guide/loader-accessobjects.html
source_site: developer.salesforce.com
content_type: documentation
content_hash: b75b0d95440759d1ad67d72c64fae27f34b24bac7dc22b72699327d204bf7149
products:
  - Data Loader Guide
  - Platform Developer Content
---

# Access External Data with Data Access Objects

When running Data Loader in batch mode from the command line, several data access objects are supported. allows access to an external data source outside of Salesforce. A data access object can implement a read interface (`DataReader`), a write interface (`DataWriter`), or both.

|Required Editions|
|-----------------|
|Available in: both Salesforce Classic ([not available in all orgs](https://help.salesforce.com/s/articleView?id=xcloud.overview_edition_lex_only.htm&type=5)) and Lightning Experience|
|Available in: **Enterprise**, **Performance**, **Unlimited**, and **Developer** editions|

**note:** The Data Loader command-line interface is supported for Windows only.

Here's a list of object names and descriptions.

-   csvRead—Allows the reading of a comma or tab-delimited file. There must be a header row at the top of the file that describes each column.
-   csvWrite—Allows writing to a comma-delimited file. A header row is added to the top of the file based on the column list provided by the caller.
-   databaseRead—Allows the reading of a database. Use `database-conf.xml` to configure database access.
-   databaseWrite—Allows writing to a database. Use `database-conf.xml` to configure database access.

