Compartilhar via


Função SQLReadFileDSN

Conformidade
Versão introduzida: ODBC 3.0

Resumo
SQLReadFileDSN lê informações de um DSN de Arquivo.

Sintaxe

  
BOOL SQLReadFileDSN(  
     LPCSTR   lpszFileName,  
     LPCSTR   lpszAppName,  
     LPCSTR   lpszKeyName,  
     LPSTR    lpszString,  
     WORD     cbString,  
     WORD *   pcbString);  

Argumentos

lpszFileName
[Entrada] Ponteiro para o buffer de dados que contém o nome do arquivo .dsn. Uma extensão .dsn é acrescentada a todos os nomes de arquivo que ainda não têm uma extensão .dsn. O valor em *lpszFileName deve ser uma cadeia de caracteres terminada em nulo.

lpszAppName
[Entrada] Ponteiro para o buffer de dados que contém o nome do aplicativo. Isso é "ODBC" para a seção ODBC. O valor em *lpszAppName deve ser uma cadeia de caracteres terminada em nulo.

lpszKeyName
[Entrada] Ponteiro para o buffer de dados que contém o nome da chave a ser lida. Consulte "Comentários" para obter palavras-chave reservadas. O valor em *lpszAppName deve ser uma cadeia de caracteres terminada em nulo.

lpszString
[Saída] Ponteiro para o buffer de dados que contém a cadeia de caracteres associada à chave a ser lida.

Se *lpszFileName for um nome de arquivo .dsn válido, mas o argumento lpszAppName for um ponteiro nulo e o argumento lpszKeyName for um ponteiro nulo, *lpszString conterá uma lista de aplicativos válidos. Se *lpszFileName for um nome de arquivo .dsn válido e *lpszAppName for um nome de aplicativo válido, mas o argumento lpszKeyName for um ponteiro nulo, *lpszString conterá uma lista de palavras-chave reservadas válidas na seção apropriada do arquivo DSN, delimitada por ponto e vírgula. Se *lpszFileName for um nome de arquivo .dsn válido, mas *lpszAppName for um ponteiro nulo e o argumento lpszKeyName for um ponteiro nulo, *lpszString conterá uma lista das seções no arquivo DSN, delimitada por ponto e vírgula.

cbString
[Entrada] Comprimento do buffer *lpszString .

pcbString
[Saída] Número total de bytes disponíveis para retornar em *lpszString. Se o número de bytes disponíveis para retornar for maior ou igual a cbString, a cadeia de caracteres de saída em *lpszString será truncada para cbString menos o caractere de terminação nula. O argumento pcbString pode ser um ponteiro nulo.

Retornos

A função retornará TRUE se for bem-sucedida, FALSE se falhar.

Diagnósticos

Quando SQLReadFileDSN 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_BUFF_LEN Comprimento do buffer inválido O argumento lpszString era NULL.

O argumento cbString era menor ou igual a 0.
ODBC_ERROR_INVALID_PATH Caminho de instalação inválido O caminho do nome do arquivo especificado no argumento lpszFileName era inválido.
ODBC_ERROR_INVALID_REQUEST_TYPE Tipo inválido de solicitação O argumento lpszAppName era NULL, enquanto o argumento lpszKeyName era válido.
ODBC_ERROR_OUT_OF_MEM Memória insuficiente O instalador não pôde executar a função devido à falta de memória.
ODBC_ERROR_OUTPUT_STRING_TRUNCATED Cadeia de caracteres de saída truncada A cadeia de caracteres retornada em *lpszString foi truncada porque o valor em cbString era menor ou igual ao valor em *pcbString.
ODBC_ERROR_REQUEST_FAILED Falha na solicitação A palavra-chave não existia no DSN do arquivo.

Comentários

O ODBC reserva o nome da seção [ODBC] no qual armazenar as informações de conexão. As palavras-chave reservadas para esta seção são as mesmas reservadas para uma cadeia de conexão no SQLDriverConnect. (Para obter mais informações, consulte a descrição da função SQLDriverConnect .)

Os aplicativos podem usar essas palavras-chave reservadas para ler as informações em um DSN de Arquivo. Se um aplicativo quiser descobrir a cadeia de conexão sem DSN associada a um DSN de Arquivo, ele poderá chamar SQLReadFileDSN para qualquer uma das palavras-chave de cadeia de conexão reservadas na seção [ODBC]. A cadeia de conexão completa passada em uma conexão sem DSN é uma combinação de todas as palavras-chave (reservadas e específicas do driver) na seção [ODBC].

Para obter informações sobre Consulte
Gravando informações em um DSN de arquivo SQLWriteFileDSN