Determines how the embedded database and the mapping of the remote data model to the relational data model is configured, customized, and updated.
Notes
This option is primarily used for initial configuration of the driver for a particular user. It is not intended for use with every connection. By default, the driver configures itself and this option is normally not needed. If Config Options is specified on a connection after the initial configuration, the values specified for Config Options must match the values specified for the initial configuration. The preferred method for setting the configuration options for a particular user is through the database configuration file. See Database
Configuration File for details.
Valid Values
{key=value[; key=value]}
where:
key
is one of the following values: AuditColumns, CustomSuffix, LocalTables, MapSystemColumnNames, NumberFieldMapping, PersistMetadata, or UppercaseIdentifiers.
The value is a set of key value pairs separated by a semicolon (;). The value must be enclosed in curly brackets. For example:
AuditColumns: Determines whether the driver includes audit fields, which Salesforce adds to all objects defined in a Salesforce instance, as table columns when it defines the remote data model to relational table mapping.
The audit columns added by Salesforce are:
IsDeleted
CreatedById
CreatedDate
LastModifiedById
LastModifiedDate
SystemModestamp
Salesforce also adds the field MasterRecordId.
Valid values for AuditColumns are:
Value
Description
All
The driver includes the all of the audit columns and the master record id column in its table definitions.
AuditOnly
The driver adds only the audit columns in its table definitions.
MasterOnly
The driver adds only the MasterRecordId column in its table definitions.
None
The driver does not add the audit columns or the MasterRecordId column in its table definitions.
The default value for AuditColumns is All.
In a typical Salesforce instance, not all users are granted access to the Audit or MasterRecordId columns. If AuditColumns is set to a value other than None and the driver cannot include the columns requested, the connection fails and the driver generates a SQLException with a SQLState of 08001.
CustomSuffix (Custom objects and fields only): Determines whether the driver includes or strips the "__c" suffix from the table and column names when mapping the remote data model to the relational data model. Salesforce adds the suffix to all custom objects and fields.
Valid values for CustomSuffix are:
Value
Description
Include
The driver includes the "__c" suffix.
Strip
The driver strips the "__c" suffix.
The default value for CustomSuffix is Strip.
KeywordConflictSuffix: Specifies a string of up to five alphanumeric characters that the driver appends to any object or field name that conflicts with a SQL engine keyword. For example, if you specify KeywordConflictSuffix=TAB, then the driver maps the Case object in Salesforce to CASETAB.
Do not use a string that matches the suffix of a custom table, for example, CASEOFICE. If you specify KeywordConflictSuffix=OFICE, a name collision occurs with the Standard object CASE and the custom table CASEOFICE, or a table with a column called CASEOFICE. In this situation, the standard object CASE is returned. The custom object is ignored.
Valid values for KeywordConflictSuffix are:
Value
Description
string
One to five alphanumeric characters.
The default value for KeywordConflictSuffix is an empty string.
MapSystemColumnNames: Determines how the driver maps Salesforce system columns. Valid values for MapSystemColumnNames are:
Value
Description
0
The driver does not change the names of the Salesforce system columns.
1
The driver changes the names of the Salesforce system columns as described in the following table:
Field NameMapped Name
Id ROWID
Name SYS_NAME
IsDeleted SYS_ISDELETED
CreatedDate SYS_CREATEDDATE
CreatedById SYS_CREATEDBYID
LastModifiedDate SYS_LASTMODIFIEDDATE
LastModifiedId SYS_LASTMODIFIEDID
SystemModstamp SYS_SYSTEMMODSTAMP
LastActivityDate SYS_LASTACTIVITYDATE
OwnerId SYS_OWNERID
The default value for MapSystemColumnNames is 1.
NumberFieldMapping: Defines how the driver maps fields defined as NUMBER in Salesforce. 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. By default, the driver maps smaller fields (precision of 9 or less) to the INTEGER SQL type when the scale of the NUMBER field is 0 and maps all other NUMBER fields to the DOUBLE SQL type to match the type that Salesforce transfers the value to or from the driver. This key can be used to direct the driver to map all NUMBER fields to DOUBLE regardless of the precision of the field.
Valid values for NumberFieldMapping are:
Value
Description
1EmulateInteger
The driver maps NUMBER fields with a precision of 9 or less and a scale of 0 to the INTEGER SQL type and maps all other NUMBER fields to the DOUBLE SQL type.
AlwaysDouble2
The driver maps NUMBER fields to the DOUBLE SQL type.
The default value for NumberFieldMapping is 1.
UppercaseIdentifiers: Defines how the driver maps identifiers. By default, the driver maps all identifier names to uppercase.
Notes
Do not change the value of UppercaseIdentifiers unless the data source you are connecting to has objects with names that differ only by case.
Valid values for UppercaseIdentifiers are:
Value
Description
true
The driver maps identifiers to uppercase.
false
The driver maps identifiers to the mixed case name of the object being mapped. If mixed case identifiers are used, SQL statements must enclose those identifiers in double quotes, and the case of the identifier, must exactly match the case of the identifier name.For example, if UppercaseIdentifiers=false, to query the Account table you specify:
SELECT "id", "name" FROM "Account"
The default value for UppercaseIdentifiers is true.