Función SQLRemoveDriver
Conformidad
Versión introducida: ODBC 3.0
Resumen
SQLRemoveDriver cambia o quita información sobre el controlador de la entrada de Odbcinst.ini en la información del sistema.
Sintaxis
BOOL SQLRemoveDriver(
LPCSTR lpszDriver,
BOOL fRemoveDSN,
LPDWORD lpdwUsageCount);
Argumentos
lpszDriver
[Entrada] Nombre del controlador como registrado en la clave de Odbcinst.ini de la información del sistema.
fRemoveDSN
[Entrada] Los valores válidos son:
TRUE: quite los DSN asociados al controlador especificado en lpszDriver. FALSE: no quite los DSN asociados al controlador especificado en lpszDriver.
lpdwUsageCount
[Salida] Recuento de uso del controlador después de llamar a esta función.
Devoluciones
La función devuelve TRUE si se ejecuta correctamente, FALSE si se produce un error. Si no existe ninguna entrada en la información del sistema cuando se llama a esta función, la función devuelve FALSE.
Diagnóstico
Cuando SQLRemoveDriver devuelve FALSE, se puede obtener un valor *pfErrorCode asociado mediante una llamada a SQLInstallerError. En la tabla siguiente se enumeran los valores *pfErrorCode que SQLInstallerError puede devolver y explica cada uno en el contexto de esta función.
*pfErrorCode | Error | Descripción |
---|---|---|
ODBC_ERROR_GENERAL_ERR | Error general del instalador | Error por el que no se produjo ningún error de instalador específico. |
ODBC_ERROR_COMPONENT_NOT_FOUND | Componente no encontrado en el Registro | El instalador no pudo quitar la información del controlador porque no existía en el registro o no se encontró en el registro. |
ODBC_ERROR_INVALID_NAME | Nombre de controlador o traductor no válido | El argumento lpszDriver no era válido. |
ODBC_ERROR_USAGE_UPDATE_FAILED | No se pudo incrementar ni disminuir el recuento de uso de componentes | El instalador no pudo disminuir el número de uso del controlador. |
ODBC_ERROR_REQUEST_FAILED | Error en la solicitud | El argumento fRemoveDSN era TRUE; sin embargo, no se pudieron quitar uno o varios DSN. Error en la llamada a SQLConfigDriver con la solicitud ODBC_REMOVE_DRIVER. |
ODBC_ERROR_OUT_OF_MEM | No hay memoria suficiente | El instalador no pudo realizar la función debido a una falta de memoria. |
Comentarios
SQLRemoveDriver complementa la función SQLInstallDriverEx y actualiza el recuento de uso de componentes en la información del sistema. Solo se debe llamar a esta función desde una aplicación de instalación.
SQLRemoveDriver disminuirá el valor de recuento de uso de componentes en 1. Si el recuento de uso de componentes va a 0, se producirá lo siguiente:
Se llamará a la función SQLConfigDriver con la opción ODBC_REMOVE_DRIVER. Si la opción fRemoveDSN está establecida en TRUE, la función ConfigDSN llama a SQLRemoveDSNFromIni para quitar todos los orígenes de datos asociados al controlador especificado en lpszDriver. Si la opción fRemoveDSN está establecida en FALSE, los orígenes de datos no se eliminarán.
Se quitará la entrada del controlador en la información del sistema. La entrada del controlador se encuentra en la siguiente ubicación de información del sistema, bajo el nombre del controlador:
HKEY_LOCAL_MACHINE
SOFTWARE
ODBC
Odbcinst.ini
SQLRemoveDriver no quita realmente ningún archivo. El programa de llamada es responsable de eliminar archivos y mantener el recuento de uso de archivos. Solo después de que el recuento de uso de componentes y el recuento de uso de archivos hayan alcanzado cero es un archivo eliminado físicamente. Algunos archivos de un componente se pueden eliminar y otros no eliminados, en función de si otras aplicaciones usan los archivos que han incrementado el número de uso de archivos.
SQLRemoveDriver también se denomina como parte de un proceso de actualización. Si una aplicación detecta que tiene que realizar una actualización y que ha instalado previamente el controlador, el controlador debe quitarse y volver a instalarlo. Primero se debe llamar a SQLRemoveDriver para disminuir el número de uso de componentes y, a continuación, se debe llamar a SQLInstallDriverEx para aumentar el número de uso de componentes. El programa de instalación de la aplicación debe reemplazar los archivos antiguos por los nuevos archivos. El recuento de uso de archivos seguirá siendo el mismo y otras aplicaciones que usan los archivos de versión anteriores ahora usarán la versión más reciente.
Funciones relacionadas
Para información acerca de | Vea |
---|---|
Agregar, modificar o quitar un controlador | ConfigDriver (en el archivo DLL de instalación) |
Agregar, modificar o quitar un controlador | SQLConfigDriver |
Instalación de un controlador | SQLInstallDriverEx |