The DataFlex ODBC Driver can be used to connect to any ODBC back end. These back ends will require specific configuration settings to perform in an optimal way. Managing driver configuration files to handle different back ends would be troublesome if not impossible. This is why you can create a database specific configuration file.
The name of the database specific configuration file is <database name>.int, where <database name> 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 see the database name in Database Builder. Open a table from a certain back end, move to the parameter tab page of the open table, look at the Table Revision setting, the database name is the first part of the revision.
A Microsoft Access table, for example, shows:
The database specific configuration file for an Access database is ”Access.int”
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 global setting will be overwritten by the database specific one.
Integer value
DF_DATABASE_COLUMN_CREATE_DEFAULT_CLAUSE
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 we have found that 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 that is returned by the database will be used.
DF_DRIVER_DEFAULT_DEFAULT_ASCII
This keyword can also be specified in the driver configuration file. See Default_Default_ASCII for a description.
DF_DRIVER_DEFAULT_DEFAULT_BINARY
This keyword can also be specified in the driver configuration file. See Default_Default_Binary for a description.
DF_DRIVER_DEFAULT_DEFAULT_DATE
This keyword can also be specified in the driver configuration file. See Default_Default_Date for a description.
DF_DRIVER_DEFAULT_DEFAULT_DATETIME
This keyword can also be specified in the driver configuration file. See Default_Default_DateTime for a description.
DF_DRIVER_DEFAULT_DEFAULT_NUMERIC
This keyword can also be specified in the driver configuration file. See Default_Default_Numeric for a description.
DF_DRIVER_DEFAULT_DEFAULT_TEXT
This keyword can also be specified in the driver configuration file. See Default_Default_Text for a description.
Positive integer value (including zero)
The default setting is used when creating tables, the value is included in each [table.]INT file.
So, 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_FETCH keyword in the INT file will be used in SELECTs that are generated for FINDs performed against the tables.
The default setting for the DF_FILE_MAX_ROWS_FETCHED attribute when creating new tables in a structure operation.
DF_DATABASE_DEFAULT_NULLABLE_ASCII
This keyword can also be specified in the driver configuration file. See Default_Nullable_ASCII for a description.
DF_DATABASE_DEFAULT_NULLABLE_BINARY
This keyword can also be specified in the driver configuration file. See Default_Nullable_Binary for a description.
DF_DATABASE_DEFAULT_NULLABLE_DATE
This keyword can also be specified in the driver configuration file. See Default_Nullable_Date for a description.
DF_DATABASE_DEFAULT_NULLABLE_DATETIME
This keyword can also be specified in the driver configuration file. See Default_Nullable_DateTime for a description.
DF_DATABASE_DEFAULT_NULLABLE_NUMERIC
This keyword can also be specified in the driver configuration file. See Default_Nullable_Numeric for a description.
DF_DATABASE_DEFAULT_NULLABLE_TEXT
This keyword can also be specified in the driver configuration file. See Default_Nullable_Text for a description.
This keyword can also be specified in the driver configuration file. See Driver_Date_Format for a description.
DF_DRIVER_DRIVER_DATE_SEPARATOR
This keyword can also be specified in the driver configuration file. See Driver_Date_Separator for a description.
DF_DRIVER_DRIVER_DECIMAL_SEPARATOR
This keyword can also be specified in the driver configuration file. See Driver_Decimal_Separator for a description.
DF_DRIVER_DRIVER_THOUSANDS_SEPARATOR
This keyword can also be specified in the driver configuration file. See Driver_Thousands_Separator for a description.
Integer value
DF_DATABASE_DUPREC_ERRORNUMBER
The native error number of the database duplicate records error. This keyword, in combination with the Duprec_State keyword, is be used to specify how the duplicate records error of the database can be translated to the DataFlex duplicate records error.
String value
The SQL State of the database duplicate records error. This keyword, in combination with the Duprec_ErrorNumber keyword, is be 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
This keyword can also be specified in the driver configuration file. See Dummy_Zero_Date_Value for a description.
DF_DATABASE_FIND_CACHE_TIMEOUT
This keyword can also be specified in the driver configuration file. See Find_Cache_timeout for a description.
This keyword can also be specified in the driver configuration file. See Ignore_Warnings for a description.
Integer value
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 we have found that some drivers do not return a reliable value. The value of the attribute is used by the driver to handle creating indices.
By default, the value that is returned by the database will be used.
Integer value
Indicates if there is support for the create index statement. A non-zero value means the creating of indices is supported, a zero value means it is not supported.
This attribute can be queried through ODBC, but we have found that some drivers do not return a reliable value. The value of the attribute is used by the driver to handle creating indices. If the backend does not support creating indices every index will be defined on the DataFlex side only. This means there will be no physical index, it is very likely a connection to such a backend will be slow.
By default, the value that is returned by the database will be used.
Integer value
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 we have found that some drivers do not return a reliable value. The value of the attribute is used by the driver to handle creating indices.
By default, the value that is returned by the database will be used.
Integer value
Indicates if there is support for the drop index statement. A non-zero value means the dropping of indices is supported, a zero value means it is not supported.
This attribute can be queried through ODBC, but we have found that some drivers do not return a reliable value. The value of the attribute is used by the driver to handle dropping indices. If the backend does not support dropping indices you will have to manually drop indices if need be. It is not recommended to use Database Builder for index definition on such backends.
By default, the value that is returned by the database will be used.
DF_DATABASE_IGNORE_UCASE_SUPPORT
This keyword can also be specified in the driver configuration file. See Ignore_UCASE_Support for a description.
This keyword can also be specified in the driver configuration file. See JIT_Treshold for a description.
String value
An SQL Status code that is generated by the database when a deadlock or lock timeout error occurs. If there are multiple SQL States, create multiple settings ion separate lines. When an error occurs with a SQL Status 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 the DF_DATABASE_USE_DF_LOCKERROR is set to true.
DF_DATABASE_MAX_ACTIVE_STATEMENTS
This keyword can also be specified in the driver configuration file. See Max_Active_Statements for a description.
String value
DF_DATABASE_NATIVE_LOCKERROR, DF_DATABASE_NUMBER_NATIVE_LOCKERRORS
An native error number that is generated by the database when a deadlock or lock timeout error occurs. If there are multiple error numbers, create multiple settings ion 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 the DF_DATABASE_USE_DF_LOCKERROR is set to true.
DF_DATABASE_TRUNCATE_BINARY_ZEROES
This keyword can also be specified in the driver configuration file. See Truncate_Binary_Zeroes for a description.
String value
DF_DATABASE_TYPE_CREATE_PARAMS
Indicates if the specified type must use a length parameter when creating columns of this type. The keyword is set to the name of the type that the length parameter must be used for.
This attribute can be queried through ODBC, but we have found that some drivers do not return a reliable value. The value of the attribute is used by the driver to handle creating columns.
By default, the value that is returned by the database will be used.
String value
DF_DATABASE_TYPE_CREATE_PARAMS
Indicates if the specified type must use a length and a precision parameter when creating columns of this type. The keyword is set to the name of the type that the length and precision parameter must be used for.
This attribute can be queried through ODBC, but we have found that some drivers do not return a reliable value. The value of the attribute is used by the driver to handle creating columns.
By default, the value that is returned by the database will be used.
String value
DF_DATABASE_TYPE_CREATE_PARAMS
Indicates if the specified type must use no parameter when creating columns of this type. The keyword is set to the name of the type that no parameter must be used for.
This attribute can be queried through ODBC, but we have found that some drivers do not return a reliable value. The value of the attribute is used by the driver to handle creating columns.
By default, the value that is returned by the database will be used.
This keyword can also be specified in the driver configuration file. See Dummy_Zero_Date_Value for a description.
Integer value
Indicates if the database supports an identity- or auto increment type that should be used to base the record identifier column on. A non-zero value means the type must be used, a zero value means it must not be used.
There are database in which the auto increment is a separate type. In other databases auto increment behavior is an attribute of a database types 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. Yet other databases do not support auto increment behavior at all.
The DataFlex ODBC Driver will get al the supported types from the database. This list of types is used when creating a table to select the database types to use from.
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.