The following flags are mutually exclusive. They are tested in the following order. The connection will be established using the first flag found to be true.
1. CT_OLD_STYLE_LOGON_SQLCONNECT: Log on using User ID/Password. If that fails it's a fatal error.
2. CT_DSN_ONLY_LOGON: Only provide the DSN to ODBC presuming that the DSN completely defines all the connection parameters.
3. CT_INTEGRATED_LOGON: Perform an integrated Log on. Some databases require a special parameter to be passed to ODBC.
4. Use User ID and Password, if they have been passed in, if
Allow the ODBC Driver to prompt for further information if the information provided in the connection string and ODBC DSN are insufficient to establish a connection to the database.
In all other circumstances the CT_DRIVER_PROMPT is ignored. Further connection behavior is dictated by the connection algorithm being used.
The only purpose of using these flags is to speed up the connection by ensuring that the first connection succeeds. For example, if you know an integrated Logon will be the only connection you want to succeed, specify DBCF=CT_INTEGRATED_LOGON:Y and DBCF= CT_AUTHENTICATION_ERROR_IS_FATAL:Y. This will cause the first connection to be integrated and a fatal error will occur if that connection is unsuccessful.
Other DBCF Flags
CT_AUTHENTICATION_ERROR_IS_FATAL: An authentication error by default is not fatal. Setting this option on ensures that the first connection will either succeed or there will be a fatal error. This is similar behavior to LANSA Version 11.3.
CT_DISPLAY_AUTHENTICATION_PROMPT: When an authentication error occurs, display a message to the user. Typically used in conjunction with CT_DRIVER_PROMPT to cause ODBC to continually re-prompt the user for connection information whilst there is an authentication error and cancel has not been clicked.
CT_DRIVER_PROMPT: Ask the ODBC driver to prompt for more information if the connection information it has is insufficient to obtain a connection.
CT_ALL_FLAGS_ON: Sets all the flags on or off. Typically used to ensure that any preceding commands are neutralized by using DBCF=CT_ALL_FLAGS_ON:N. It does not make sense to use DBCF=CT_ALL_FLAGS_ON:Y, although all flags will be set on if it is used.