SQLSetConfigMode Function

Version Introduced: ODBC 3.0

SQLSetConfigMode sets the configuration mode that indicates where the Odbc.ini entry listing DSN values is in the system information.


BOOL SQLSetConfigMode(  
     UWORD     wConfigMode);  


[Input] The installer configuration mode (see "Comments"). The value in wConfigMode can be:





The function returns TRUE if it is successful, FALSE if it fails.


When SQLSetConfigMode returns FALSE, an associated \pfErrorCode* value can be obtained by calling SQLInstallerError. The following table lists the \pfErrorCode* values that can be returned by SQLInstallerError and explains each one in the context of this function.

\pfErrorCode* Error Description
ODBC_ERROR_INVALID_PARAM_SEQUENCE Invalid parameter sequence The wConfigMode argument did not contain ODBC_USER_DSN, ODBC_SYSTEM_DSN, or ODBC_BOTH_DSN.


This function is used to set where the Odbc.ini entry listing DSN values is in the system information. If wConfigMode is ODBC_USER_DSN, the DSN is a User DSN and the function reads from the Odbc.ini entry in HKEY_CURRENT_USER. If it is ODBC_SYSTEM_DSN, the DSN is a System DSN and the function reads from the Odbc.ini entry in HKEY_LOCAL_MACHINE. If it is ODBC_BOTH_DSN, HKEY_CURRENT_USER is tried, and if it fails, then HKEY_LOCAL_MACHINE is used.

This function does not affect SQLCreateDataSource and SQLDriverConnect. The configuration mode has to be set when a driver reads from the registry by calling SQLGetPrivateProfileString or writes to the registry by calling SQLWritePrivateProfileString. Calls to SQLGetPrivateProfileString and SQLWritePrivateProfileString use the configuration mode to know which part of the registry to operate on.


SQLSetConfigMode should be called only when necessary; if the mode is improperly set, the ODBC Installer may fail to function properly.

SQLSetConfigMode makes a direct registry modification of the configuration mode. This is apart from the process of modifying the configuration mode by a call to SQLConfigDataSource. A call to SQLConfigDataSource sets the configuration mode to distinguish user and System DSNs when modifying a DSN. Prior to returning, SQLConfigDataSource resets the configuration mode to BOTHDSN.

For information about See
Creating a data source SQLCreateDataSource
Connecting to a data source using a connection string or dialog box SQLDriverConnect
Retrieving the configuration mode SQLGetConfigMode