Skip to content

Database Specific Configuration File

The DataFlex ODBC Driver can be used to connect to any ODBC back end. These back ends often require specific configuration settings to perform optimally. Managing driver configuration files to handle different back ends would be troublesome if not impossible. For this reason you can create a database-specific configuration file.

File name

The name of the database-specific configuration file is <database>.int, where <database> is the database name returned by the back end. You can find out the database name by looking at the table revision, DF_FILE_REVISION, of a table. The table revision of a table is made up of two components: the database name and the version number.

You can also see the database name in Database Builder. Open a table from a certain back end, move to the Parameters tab page of the open table, and look at the Table Revision setting — the database name is the first part of the revision.

A Microsoft Access table, for example, shows:

Access table example

The database-specific configuration file for an Access database is Access.int.

Shared keywords

A number of database-specific settings can also be set up in the driver configuration file. If a setting is defined in both files, the database-specific setting will overwrite the global setting.

Keywords

Below are the keywords (expressed here by their associated DataFlex attributes) that can be specified in a database-specific .int file. Where applicable the original associated attribute and a description are preserved.


DF_DATABASE_COLUMN_CREATE_DEFAULT_CLAUSE

  • Value: Integer value
  • Associated attribute: DF_DATABASE_COLUMN_CREATE_DEFAULT_CLAUSE (LanguageReference/DF_DATABASE_COLUMN_CREATE_DEFAULT_CLAUSE.md)
  • Description: Indicates if there is support for a DEFAULT clause when creating tables. A non-zero value means the DEFAULT clause is supported; a zero value means it is not supported.

This attribute can be queried through ODBC but some drivers do not return a reliable value. The value of the attribute is used by the driver to set up default values.

By default, the value returned by the database will be used.


DF_DRIVER_DEFAULT_DEFAULT_ASCII


DF_DRIVER_DEFAULT_DEFAULT_BINARY


DF_DRIVER_DEFAULT_DEFAULT_DATE


DF_DRIVER_DEFAULT_DEFAULT_DATETIME


DF_DRIVER_DEFAULT_DEFAULT_NUMERIC


DF_DRIVER_DEFAULT_DEFAULT_TEXT


DF_DATABASE_DEFAULT_MAX_ROWS

  • Value: Positive integer value (including zero)
  • Associated attribute: DF_DATABASE_DEFAULT_MAX_ROWS (LanguageReference/DF_DATABASE_DEFAULT_MAX_ROWS.md)
  • Description: The default setting used when creating tables; the value is included in each [table].INT file.

The value of the DEFAULT_MAX_ROWS keyword set in the [database].INT will be used as the initial value for the keyword MAX_ROWS_FETCHED in the [table].INT when each table is created. The value of the MAX_ROWS_FETCHED keyword in the table INT file will be used in SELECTs that are generated for FINDs performed against the tables.

The default setting controls the DF_FILE_MAX_ROWS_FETCHED behavior when creating new tables in a structure operation.


DF_DATABASE_DEFAULT_NULLABLE_ASCII


DF_DATABASE_DEFAULT_NULLABLE_BINARY


DF_DATABASE_DEFAULT_NULLABLE_DATE


DF_DATABASE_DEFAULT_NULLABLE_DATETIME


DF_DATABASE_DEFAULT_NULLABLE_NUMERIC


DF_DATABASE_DEFAULT_NULLABLE_TEXT


DF_DRIVER_DRIVER_DATE_FORMAT


DF_DRIVER_DRIVER_DATE_SEPARATOR


DF_DRIVER_DRIVER_DECIMAL_SEPARATOR


DF_DRIVER_DRIVER_THOUSANDS_SEPARATOR


DF_DATABASE_DUPREC_ERRORNUMBER

  • Value: Integer value
  • Associated attribute: DF_DATABASE_DUPREC_ERRORNUMBER (LanguageReference/DF_DATABASE_DUPREC_ERRORNUMBER.md)
  • Description: The native error number of the database duplicate-records error. This keyword, in combination with the Duprec_State keyword, is used to specify how the duplicate-records error of the database can be translated to the DataFlex duplicate-records error.

DF_DATABASE_DUPREC_STATE

  • Value: String value
  • Associated attribute: DF_DATABASE_DUPREC_STATE (LanguageReference/DF_DATABASE_DUPREC_STATE.md)
  • Description: The SQL State of the database duplicate-records error. This keyword, in combination with the Duprec_ErrorNumber keyword, is used to specify how the duplicate-records error of the database can be translated to the DataFlex duplicate-records error.

DF_DATABASE_DUMMY_ZERO_DATE_VALUE


DF_DATABASE_FIND_CACHE_TIMEOUT


DF_DATABASE_IGNORE_WARNINGS


DF_DATABASE_INDEX_ASC

  • Value: Integer value
  • Associated attribute: DF_DATABASE_INDEX_ASC (LanguageReference/DF_DATABASE_INDEX_ASC.md)
  • Description: Indicates if there is support for the ascending (ASC) keyword in the CREATE INDEX statement. A non-zero value means the ascending keyword is supported; a zero value means it is not supported.

This attribute can be queried through ODBC, but some drivers do not return a reliable value. The attribute value is used by the driver to handle creating indices.

By default, the value returned by the database will be used.


DF_DATABASE_INDEX_CREATE

  • Value: Integer value
  • Associated attribute: DF_DATABASE_INDEX_CREATE (LanguageReference/DF_DATABASE_INDEX_CREATE.md)
  • Description: Indicates if there is support for the CREATE INDEX statement. A non-zero value means creating indices is supported; a zero value means it is not supported.

This attribute can be queried through ODBC, but some drivers do not return a reliable value. The attribute value is used by the driver to handle creating indices. If the back end does not support creating indices, every index will be defined on the DataFlex side only. That means there will be no physical index, and it is very likely a connection to such a back end will be slow.

By default, the value returned by the database will be used.


DF_DATABASE_INDEX_DESC

  • Value: Integer value
  • Associated attribute: DF_DATABASE_INDEX_DESC (LanguageReference/DF_DATABASE_INDEX_DESC.md)
  • Description: Indicates if there is support for the descending (DESC) keyword in the CREATE INDEX statement. A non-zero value means the descending keyword is supported; a zero value means it is not supported.

This attribute can be queried through ODBC, but some drivers do not return a reliable value. The attribute value is used by the driver to handle creating indices.

By default, the value returned by the database will be used.


DF_DATABASE_INDEX_DROP

  • Value: Integer value
  • Associated attribute: DF_DATABASE_INDEX_DROP (LanguageReference/DF_DATABASE_INDEX_DROP.md)
  • Description: Indicates if there is support for the DROP INDEX statement. A non-zero value means dropping indices is supported; a zero value means it is not supported.

This attribute can be queried through ODBC, but some drivers do not return a reliable value. The attribute value is used by the driver to handle dropping indices. If the back end does not support dropping indices you will have to manually drop indices if needed. It is not recommended to use Database Builder for index definition on such back ends.

By default, the value returned by the database will be used.


DF_DATABASE_IGNORE_UCASE_SUPPORT


DF_DATABASE_JIT_TRESHOLD


DF_DATABASE_LOCK_STATE

  • Value: String value
  • Associated attribute: DF_DATABASE_LOCK_STATE (LanguageReference/DF_DATABASE_LOCK_STATE.md)
  • Description: An SQL State code that is generated by the database when a deadlock or lock timeout occurs. If there are multiple SQL States, create multiple settings on separate lines. When an error occurs with an SQL State code that is in this list, the error will be translated to DFERR_LOCK_TIMEOUT to enable the automatic retry mechanism.

Translation only happens if DF_DATABASE_USE_DF_LOCKERROR is set to true.


DF_DATABASE_MAX_ACTIVE_STATEMENTS


DF_DATABASE_NATIVE_LOCKERROR and DF_DATABASE_NUMBER_NATIVE_LOCKERRORS

  • Value: String value
  • Associated attributes:
  • DF_DATABASE_NATIVE_LOCKERROR (LanguageReference/DF_DATABASE_NATIVE_LOCKERROR.md)
  • DF_DATABASE_NUMBER_NATIVE_LOCKERRORS (LanguageReference/DF_DATABASE_NUMBER_NATIVE_LOCKERRORS.md)
  • Description: A native error number that is generated by the database when a deadlock or lock timeout occurs. If there are multiple error numbers, create multiple settings on separate lines. When an error occurs with an error number that is in this list, the error will be translated to DFERR_LOCK_TIMEOUT to enable the automatic retry mechanism.

Translation only happens if DF_DATABASE_USE_DF_LOCKERROR is set to true.


DF_DATABASE_TRUNCATE_BINARY_ZEROES


DF_DATABASE_TYPE_CREATE_PARAMS (length parameter)

  • Value: String value
  • Associated attribute: DF_DATABASE_TYPE_CREATE_PARAMS (LanguageReference/DF_DATABASE_TYPE_CREATE_PARAMS.md)
  • Description: Indicates that the specified type must use a length parameter when creating columns of this type. The keyword is set to the name of the type for which a length parameter must be used.

This attribute can be queried through ODBC, but some drivers do not return a reliable value. The attribute value is used by the driver to handle creating columns.

By default, the value returned by the database will be used.


DF_DATABASE_TYPE_CREATE_PARAMS (length and precision parameters)

  • Value: String value
  • Associated attribute: DF_DATABASE_TYPE_CREATE_PARAMS (LanguageReference/DF_DATABASE_TYPE_CREATE_PARAMS.md)
  • Description: Indicates that the specified type must use length and precision parameters when creating columns of this type. The keyword is set to the name of the type for which length and precision parameters must be used.

This attribute can be queried through ODBC, but some drivers do not return a reliable value. The attribute value is used by the driver to handle creating columns.

By default, the value returned by the database will be used.


DF_DATABASE_TYPE_CREATE_PARAMS (no parameter)

  • Value: String value
  • Associated attribute: DF_DATABASE_TYPE_CREATE_PARAMS (LanguageReference/DF_DATABASE_TYPE_CREATE_PARAMS.md)
  • Description: Indicates that the specified type must use no parameter when creating columns of this type. The keyword is set to the name of the type for which no parameter must be used.

This attribute can be queried through ODBC, but some drivers do not return a reliable value. The attribute value is used by the driver to handle creating columns.

By default, the value returned by the database will be used.


DF_DATABASE_USE_DF_LOCKERROR


DF_DATABASE_USE_IDENTITY_TYPE

  • Value: Integer value
  • Associated attribute: DF_DATABASE_USE_IDENTITY_TYPE (LanguageReference/DF_DATABASE_USE_IDENTITY_TYPE.md)
  • Description: Indicates if the database supports an identity (auto-increment) type that should be used for the record identifier column. A non-zero value means the identity type must be used; a zero value means it must not be used.

There are databases in which auto-increment is a separate type. In other databases auto-increment behavior is an attribute of a database type rather than a type by itself. The way to set up the attribute in these databases is by using special SQL syntax for the column in question. Some ODBC drivers will return the special syntax as a separate type. Other databases do not support auto-increment behavior at all.

The DataFlex ODBC Driver will retrieve all supported types from the database. This list of types is used when creating a table to select the database types to use.

You can use the identity behavior of a database when: - The database supports it. - The ODBC driver returns it as a separate type. - The ODBC driver returns the full syntax. (In some databases an auto-increment column must have other attributes set, e.g. it must be the primary key. You cannot use the auto-increment behavior for such databases.)

By default, identity types are not used.