Função SQLRemoveDriver
Conformidade
Versão introduzida: ODBC 3.0
Resumo
SQLRemoveDriver altera ou remove informações sobre o driver da entrada Odbcinst.ini nas informações do sistema.
Sintaxe
BOOL SQLRemoveDriver(
LPCSTR lpszDriver,
BOOL fRemoveDSN,
LPDWORD lpdwUsageCount);
Argumentos
lpszDriver
[Entrada] O nome do driver conforme registrado na chave Odbcinst.ini das informações do sistema.
fRemoveDSN
[Entrada] Os valores válidos são:
TRUE: remova DSNs associados ao driver especificado em lpszDriver. FALSE: não remova DSNs associadas ao driver especificado em lpszDriver.
lpdwUsageCount
[Saída] A contagem de uso do driver depois que essa função tiver sido chamada.
Retornos
A função retornará TRUE se for bem-sucedida, FALSE se falhar. Se nenhuma entrada existir nas informações do sistema quando essa função for chamada, a função retornará FALSE.
Diagnósticos
Quando SQLRemoveDriver retorna FALSE, um valor *pfErrorCode associado pode ser obtido chamando SQLInstallerError. A tabela a seguir lista os valores *pfErrorCode que podem ser retornados por SQLInstallerError e explica cada um deles no contexto dessa função.
*pfErrorCode | Erro | Descrição |
---|---|---|
ODBC_ERROR_GENERAL_ERR | Erro geral do instalador | Ocorreu um erro para o qual não houve nenhum erro específico do instalador. |
ODBC_ERROR_COMPONENT_NOT_FOUND | Componente não encontrado no registro | O instalador não pôde remover as informações do driver porque elas não existiam no registro ou não puderam ser encontradas no registro. |
ODBC_ERROR_INVALID_NAME | Nome do driver ou tradutor inválido | O argumento lpszDriver era inválido. |
ODBC_ERROR_USAGE_UPDATE_FAILED | Não foi possível incrementar ou diminuir a contagem de uso do componente | O instalador não conseguiu diminuir a contagem de uso do driver. |
ODBC_ERROR_REQUEST_FAILED | Falha na solicitação | O argumento fRemoveDSN era TRUE; no entanto, um ou mais DSNs não puderam ser removidos. Falha na chamada para SQLConfigDriver com a solicitação ODBC_REMOVE_DRIVER. |
ODBC_ERROR_OUT_OF_MEM | Memória insuficiente | O instalador não pôde executar a função devido à falta de memória. |
Comentários
SQLRemoveDriver complementa a função SQLInstallDriverEx e atualiza a contagem de uso do componente nas informações do sistema. Essa função deve ser chamada somente de um aplicativo de instalação.
SQLRemoveDriver diminuirá o valor da contagem de uso do componente em 1. Se a contagem de uso do componente for para 0, ocorrerá o seguinte:
A função SQLConfigDriver com a opção ODBC_REMOVE_DRIVER será chamada. Se a opção fRemoveDSN estiver definida como TRUE, a função ConfigDSN chamará SQLRemoveDSNFromIni para remover todas as fontes de dados associadas ao driver especificado no lpszDriver. Se a opção fRemoveDSN estiver definida como FALSE, as fontes de dados não serão excluídas.
A entrada do driver nas informações do sistema será removida. A entrada do driver está no seguinte local de informações do sistema, sob o nome do driver:
HKEY_LOCAL_MACHINE
SOFTWARE
ODBC
Odbcinst.ini
SQLRemoveDriver não remove nenhum arquivo. O programa de chamada é responsável por excluir arquivos e manter a contagem de uso de arquivos. Somente depois que a contagem de uso do componente e a contagem de uso de arquivos atingirem zero será um arquivo excluído fisicamente. Alguns arquivos em um componente podem ser excluídos e outros não excluídos, dependendo se os arquivos são usados por outros aplicativos que incrementaram a contagem de uso de arquivos.
SQLRemoveDriver também é chamado como parte de um processo de atualização. Se um aplicativo detectar que precisa executar uma atualização e tiver instalado anteriormente o driver, o driver deverá ser removido e reinstalado. SQLRemoveDriver deve primeiro ser chamado para diminuir a contagem de uso do componente e, em seguida, SQLInstallDriverEx deve ser chamado para incrementar a contagem de uso do componente. O programa de instalação do aplicativo deve substituir os arquivos antigos pelos novos arquivos. A contagem de uso de arquivos permanecerá a mesma, e outros aplicativos que usam os arquivos de versão mais antigos agora usarão a versão mais recente.
Funções relacionadas
Para obter informações sobre | Consulte |
---|---|
Adicionar, modificar ou remover um driver | ConfigDriver (na DLL de Instalação) |
Adicionar, modificar ou remover um driver | SQLConfigDriver |
Instalando um driver | SQLInstallDriverEx |