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 |
Funções relacionadas
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 |