Compartilhar via


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:

  1. 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.

  2. 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.

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