SQLInstallDriverManager 函数

一致性
引入的版本:ODBC 1.0:Windows XP Service Pack 2、Windows Server 2003 Service Pack 1 及更高版本的操作系统中弃用

摘要
SQLInstallDriverManager 返回用于安装 ODBC 核心组件的目标目录的路径。 调用程序实际上必须将驱动程序管理器的文件复制到目标目录。

语法

  
BOOL SQLInstallDriverManager(  
     LPSTR    lpszPath,  
     WORD     cbPathMax,  
     WORD *   pcbPathOut);  

参数

lpszPath
[输出]安装的目标目录的路径。

cbPathMax
[输入] lpszPath 的长度。 这必须至少_MAX_PATH个字节。

javaPathOut
[输出]排除 在 lpszPath 中返回的 null 终止字节) 的字节总数 (。 如果可用于返回的字节数大于或等于 cbPathMax则 lpszPath 中的路径将被截断为 cbPathMax 减去 null 终止字符。 对于 null 指针,则其参数可以是 null 指针。

返回

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

诊断

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

*pfErrorCode 错误 说明
ODBC_ERROR_GENERAL_ERR 常规安装程序错误 发生错误时没有特定的安装程序错误。
ODBC_ERROR_INVALID_BUFF_LEN 缓冲区长度无效 lpszPath 参数不足以包含输出路径。 缓冲区包含截断路径。

cbPathMax 参数小于_MAX_PATH。
ODBC_ERROR_USAGE_UPDATE_FAILED 无法递增或递减组件使用情况计数 安装程序未能递增 ODBC 核心组件使用情况计数。
ODBC_ERROR_OUT_OF_MEM 内存不足 由于内存不足,安装程序无法执行函数。

注释

调用 SQLInstallDriverManager 以返回 ODBC 核心组件的路径,并在系统信息中递增组件使用情况计数。 如果驱动程序管理器的版本已存在,但驱动程序的组件使用情况计数不存在,则新的组件使用计数值设置为 2。

应用程序安装程序负责物理复制核心组件文件和维护文件使用情况计数。 如果以前尚未安装核心组件文件,则应用程序安装程序必须复制该文件,并创建文件使用情况计数。 如果以前安装了该文件,安装程序只会递增文件使用情况计数。

如果以前由应用程序安装程序安装旧版驱动程序管理器,则应卸载核心组件,然后重新安装核心组件,以便核心组件使用计数有效。 应首先调用 SQLRemoveDriverManager 来减少组件使用情况计数。 然后,应调用 SQLInstallDriverManager 以递增组件使用情况计数。 应用程序安装程序必须将旧的核心组件文件替换为新文件。 文件使用计数将保持不变,而使用旧版核心组件文件的其他应用程序现在将使用较新的版本文件。

在 ODBC 核心组件、驱动程序和翻译器的全新安装中,应用程序安装程序应按顺序调用以下函数: SQLInstallDriverManagerSQLInstallDriverExSQLConfigDriver (, fRequest 为 ODBC_INSTALL_DRIVER) ,然后 调用 SQLInstallTranslatorEx。 在卸载核心组件、驱动程序和翻译器时,应用程序安装程序应按顺序调用以下函数: SQLRemoveTranslatorSQLRemoveDriverSQLRemoveDriverManager。 必须在此序列中调用这些函数。 在所有组件的升级中,所有卸载函数都应按顺序调用,然后按顺序调用所有安装函数。

有关以下方面的信息 请参阅
添加、修改或删除驱动程序 SQLConfigDriver
安装驱动程序 SQLInstallDriverEx
安装翻译器 SQLInstallTranslatorEx
删除驱动程序 SQLRemoveDriver
删除驱动程序管理器 SQLRemoveDriverManager
删除翻译器 SQLRemoveTranslator