SQLRemoveTranslator 函数
一致性
引入的版本:ODBC 3.0
摘要
SQLRemoveTranslator 从系统信息的 Odbcinst.ini 节中删除有关翻译器的信息,并将翻译器的组件使用量计数减少 1。
语法
BOOL SQLRemoveTranslator(
LPCSTR lpszTranslator,
LPDWORD lpdwUsageCount);
参数
lpszTranslator
[输入]在系统信息的Odbcinst.ini键中注册的翻译器的名称。
lpdwUsageCount
[输出]调用此函数后翻译器的使用计数。
返回
如果成功,函数将返回 TRUE;如果失败,则返回 FALSE。 如果在调用此函数时系统信息中不存在任何条目,该函数将返回 FALSE。
诊断
当 SQLRemoveTranslator 返回 FALSE 时,可以通过调用 SQLInstallerError 获取关联的 *pfErrorCode 值。 下表列出了 SQLInstallerError 可返回的 *pfErrorCode 值,并说明了此函数上下文中的每个值。
*pfErrorCode | 错误 | 说明 |
---|---|---|
ODBC_ERROR_GENERAL_ERR | 常规安装程序错误 | 发生错误,其中没有特定的安装程序错误。 |
ODBC_ERROR_COMPONENT_NOT_FOUND | 在注册表中找不到组件 | 安装程序无法删除翻译器信息,因为它在注册表中不存在或无法在注册表中找到。 |
ODBC_ERROR_INVALID_NAME | 驱动程序或翻译器名称无效 | lpszTranslator 参数无效。 |
ODBC_ERROR_USAGE_UPDATE_FAILED | 无法递增或递减组件使用情况计数 | 安装程序未能减少驱动程序的使用计数。 |
ODBC_ERROR_OUT_OF_MEM | 内存不足 | 由于内存不足,安装程序无法执行该函数。 |
注释
SQLRemoveTranslator 补充 了 SQLInstallTranslatorEx 函数,并更新系统信息中的组件使用情况计数。 只能从安装应用程序调用此函数。
SQLRemoveTranslator 将使组件使用量计数减少 1。 如果组件使用情况计数为 0,则将删除系统信息中的翻译器条目。 翻译器条目位于系统信息中的以下位置,位于翻译器名称下:
HKEY_LOCAL_MACHINE
SOFTWARE
ODBC
Odbcinst.ini
SQLRemoveTranslator 实际上不会删除任何文件。 调用程序负责删除文件和维护文件使用情况计数。 只有在组件使用情况计数和文件使用计数都达到零之后,才会以物理方式删除文件。 组件中的某些文件可以删除,而其他文件则不能删除,具体取决于文件是否由其他应用程序使用,这些应用程序已增加文件使用计数。
SQLRemoveTranslator 也称为升级过程的一部分。 如果应用程序检测到它必须执行升级,并且它之前已安装了驱动程序,则应删除驱动程序,然后重新安装。 应首先调用 SQLRemoveTranslator 来减少组件使用量计数,然后调用 SQLInstallTranslatorEx 以增加组件使用量计数。 应用程序安装程序必须以物理方式将旧文件替换为新文件。 文件使用情况计数将保持不变,而使用较旧版本文件的其他应用程序现在将使用较新版本。
相关函数
有关以下方面的信息 | 请参阅 |
---|---|
安装翻译器 | SQLInstallTranslatorEx |