SQLSetConfigMode 函数

一致性
引入的版本:ODBC 3.0

摘要
SQLSetConfigMode 设置配置模式,该模式指示列出 DSN 值的Odbc.ini条目在系统信息中的位置。

语法

  
BOOL SQLSetConfigMode(  
     UWORD     wConfigMode);  

参数

wConfigMode
[输入]安装程序配置模式 (“注释”) 。 wConfigMode 中的值可以是:

ODBC_USER_DSN

ODBC_SYSTEM_DSN

ODBC_BOTH_DSN

返回

如果成功,函数将返回 TRUE;如果失败,则返回 FALSE。

诊断

SQLSetConfigMode 返回 FALSE 时,可以通过调用 SQLInstallerError 来获取关联的 *pfErrorCode 值。 下表列出了 SQLInstallerError 可返回的 *pfErrorCode 值,并说明了此函数上下文中的每个值。

*pfErrorCode 错误 说明
ODBC_ERROR_INVALID_PARAM_SEQUENCE 参数序列无效 wConfigMode 参数不包含ODBC_USER_DSN、ODBC_SYSTEM_DSN或ODBC_BOTH_DSN。

注释

此函数用于设置列出 DSN 值的Odbc.ini项在系统信息中的位置。 如果 wConfigMode 为ODBC_USER_DSN,则 DSN 为用户 DSN,函数从 HKEY_CURRENT_USER 中的Odbc.ini项读取。 如果是ODBC_SYSTEM_DSN,则 DSN 是系统 DSN,函数从 HKEY_LOCAL_MACHINE 中的Odbc.ini项读取。 如果ODBC_BOTH_DSN,则尝试HKEY_CURRENT_USER,如果失败,则使用HKEY_LOCAL_MACHINE。

此函数不会影响 SQLCreateDataSourceSQLDriverConnect。 当驱动程序通过调用 SQLGetPrivateProfileString 从注册表读取或通过调用 SQLWritePrivateProfileString 写入注册表时,必须设置配置模式。 对 SQLGetPrivateProfileStringSQLWritePrivateProfileString 的 调用使用配置模式来知道要对注册表的哪个部分进行操作。

注意

应仅在必要时调用 SQLSetConfigMode;如果模式设置不当,ODBC 安装程序可能无法正常工作。

SQLSetConfigMode 对配置模式进行直接注册表修改。 这与通过调用 SQLConfigDataSource 修改配置模式的过程不同。 调用 SQLConfigDataSource 设置配置模式,以在修改 DSN 时区分用户和系统 DSN。 在返回之前, SQLConfigDataSource 会将配置模式重置为 BOTHDSN。

有关以下方面的信息 请参阅
创建数据源 SQLCreateDataSource
使用连接字符串或对话框连接到数据源 SQLDriverConnect
检索配置模式 SQLGetConfigMode