The connector maps Salesforce objects and fields to tables and columns. The connector maps both standard and custom objects and includes any relationships defined between objects. You can use the getPrimaryKeys, getExportedKeys, and getImportedKeys methods to report relationships among objects.

Identifiers

When mapping the remote data model, the connector converts unquoted identifiers to uppercase by default. You can use the UppercaseIdentifiers property to map identifiers to use the case of the remote object.

Audit columns

Salesforce adds audit fields to all the objects defined in a Salesforce instance. By default, the connector includes corresponding audit columns in table definitions when mapping the remote data model. The AuditColumns property can be used to exclude or limit audit columns.

Custom objects and fields

Salesforce appends custom objects and fields with a standard "__c" suffix. By default, the connector includes the standard "__c" suffix when mapping the remote data model. You can use the CustomSuffix property to strip the "__c" suffix.

System fields

Salesforce includes system fields in a Salesforce instance. By default, the connector uses the name of the system field when mapping the system fields as columns. You can use the MapSystemColumnNames property to make it evident that the columns in a table correspond to system fields.

Number fields

The Salesforce API uses DOUBLE values to transfer data to and from NUMBER fields, which can cause problems when the precision of the NUMBER field is greater than the precision of a DOUBLE value. Rounding can occur when converting large values to and from DOUBLE. The NumberFieldMapping property allows you to map the NUMBER fields to the required SQL types based on their precision.