Compartilhar via


Função SQLConfigDataSource

Conformidade
Versão introduzida: ODBC 1.0

Resumo
SQLConfigDataSource adiciona, modifica ou exclui fontes de dados.

A funcionalidade de SQLConfigDataSource também pode ser acessada com ODBCCONF.EXE.

Sintaxe

  
BOOL SQLConfigDataSource(  
     HWND     hwndParent,  
     WORD     fRequest,  
     LPCSTR   lpszDriver,  
     LPCSTR   lpszAttributes);  

Argumentos

hwndParent
[Entrada] Identificador de janela pai. A função não exibirá nenhuma caixa de diálogo se o identificador for nulo.

fRequest
[Entrada] Tipo de solicitação. O argumento fRequest deve conter um dos seguintes valores:

ODBC_ADD_DSN: adicionar uma nova fonte de dados de usuário.

ODBC_CONFIG_DSN: configurar (modificar) uma fonte de dados de usuário existente.

ODBC_REMOVE_DSN: remover uma fonte de dados de usuário existente.

ODBC_ADD_SYS_DSN: adicionar uma nova fonte de dados do sistema.

ODBC_CONFIG_SYS_DSN: modificar uma fonte de dados do sistema existente.

ODBC_REMOVE_SYS_DSN: remover uma fonte de dados do sistema existente.

ODBC_REMOVE_DEFAULT_DSN: remova a seção de especificação de fonte de dados padrão das informações do sistema. (Ele também remove a seção de especificação de driver padrão da entrada Odbcinst.ini nas informações do sistema. Esse fRequest executa a mesma função que a função SQLRemoveDefaultDataSource preterida.) Quando essa opção é especificada, todos os outros parâmetros na chamada para SQLConfigDataSource devem ser NULLs; se não forem NULL, serão ignorados.

lpszDriver
[Entrada] Descrição do driver (geralmente o nome do DBMS associado) apresentada aos usuários em vez do nome do driver físico.

lpszAttributes
[Entrada] Uma lista duplamente terminada em nulo de atributos na forma de pares chave-valor. Para obter mais informações, consulte ConfigDSN.

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 SQLConfigDataSource 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 erro específico do instalador.
ODBC_ERROR_INVALID_HWND Identificador de janela inválido O argumento hwndParent era inválido ou NULL.
ODBC_ERROR_INVALID_REQUEST_TYPE Tipo inválido de solicitação O argumento fRequest não foi um dos seguintes:

ODBC_ADD_DSN ODBC_CONFIG_DSN ODBC_REMOVE_DSN ODBC_ADD_SYS_DSN ODBC_CONFIG_SYS_DSN ODBC_REMOVE_SYS_DSN ODBC_REMOVE_DEFAULT_DSN
ODBC_ERROR_INVALID_NAME Nome do driver ou tradutor inválido O argumento lpszDriver era inválido. Não foi possível encontrá-lo no registro.
ODBC_ERROR_INVALID_KEYWORD_VALUE Pares de palavra-chave-valor inválidos O argumento lpszAttributes continha um erro de sintaxe.
ODBC_ERROR_REQUEST_FAILED Falha na solicitação O instalador não pôde executar a operação solicitada pelo argumento fRequest . Falha na chamada para ConfigDSN .
ODBC_ERROR_LOAD_LIBRARY_FAILED Não foi possível carregar o driver ou a biblioteca de configuração do tradutor Não foi possível carregar a biblioteca de configuração do 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

SQLConfigDataSource usa o valor de lpszDriver para ler o caminho completo da DLL de instalação para o driver a partir das informações do sistema. Ele carrega a DLL e chama ConfigDSN com os mesmos argumentos que foram passados para ela.

SQLConfigDataSource retornará FALSE se não for possível localizar ou carregar a DLL de instalação ou se o usuário cancelar a caixa de diálogo. Caso contrário, ele retornará o status recebido de ConfigDSN.

SQLConfigDataSource mapeia o FRequestdo DSN do Sistema para o FRequests DSN do Usuário (ODBC_ADD_SYS_DSN para ODBC_ADD_DSN, ODBC_CONFIG_SYS_DSN para ODBC_CONFIG_DSN e ODBC_REMOVE_SYS_DSN para ODBC_REMOVE_DSN). Para distinguir dSNs do usuário e do sistema, SQLConfigDataSource define o modo de configuração do instalador de acordo com a tabela a seguir. Antes de retornar, SQLConfigDataSource redefine o modo de configuração para BOTHDSN. O ConfigDSN (implementado por drivers) deve chamar SQLWriteDSNToIni e SQLWritePrivateProfileString para dar suporte a um DSN do sistema. Para obter mais informações, consulte Função ConfigDSN.

fRequest Modo de configuração
ODBC_ADD_DSN USERDSN_ONLY
ODBC_CONFIG_DSN USERDSN_ONLY
ODBC_REMOVE_DSN USERDSN_ONLY
ODBC_ADD_SYS_DSN SYSTEMDSN_ONLY
ODBC_CONFIG_SYS_DSN SYSTEMDSN_ONLY
ODBC_REMOVE_SYS_DSN SYSTEMDSN_ONLY
Para obter informações sobre Consulte
Adicionar, modificar ou remover uma fonte de dados ConfigDSN (na DLL de instalação)
Removendo um nome de fonte de dados das informações do sistema SQLRemoveDSNFromIni
Adicionando um nome de fonte de dados às informações do sistema SQLWriteDSNToIni