ConfigOptions
- Last Updated: April 13, 2020
- 3 minute read
- DataDirect Connectors
- JDBC
- IBM Db2 5.1
- MySQL 5.1
- Progress OpenEdge 5.1
- SAP Sybase 5.1
- Documentation
Purpose
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 property 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 ConfigOptions is specified on a connection after the initial configuration, the values specified for ConfigOptions 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,MapSystemColumnNames,NumberFieldMapping, orUppercaseIdentifiers.
Behavior
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:
CreatedById
CreatedDate
IsDeleted
LastModifiedById
LastModifiedDate
SystemModstamp
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 all of 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 none.
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, 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: |
The default value for MapSystemColumnNames is 1.
NumberFieldMapping: Determines 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. The NumberFieldMapping option allows you to map NUMBER fields to the required SQL types based on their precision.
Valid values for NumberFieldMapping are:
| Value | Description |
|---|---|
emulateInteger |
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. |
alwaysDouble |
The driver maps all NUMBER fields to the DOUBLE SQL type regardless of their precision. |
alwaysDecimal |
The driver maps all NUMBER fields to the DECIMAL SQL type. It can be used when the precision of the NUMBER field is greater than the precision of a DOUBLE value. |
The default value for NumberFieldMapping is emulateInteger.
UppercaseIdentifiers: Defines how the driver maps identifiers. By default, the driver maps all identifier names to uppercase.
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, those identifiers
must be quoted in SQL statements, 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 would need to
specify: |
The default value for UppercaseIdentifiers is true.
Default
AuditColumns=none;CustomSuffix=strip;KeywordConflictSuffix=;
MapSystemColumnNames=1;NumberFieldMapping=emulateInteger;
UppercaseIdentifiers=true
Data Type
String