Compartilhar via


Função SQLSetConnectAttrForDbcInfo

Conformidade
Versão introduzida: ODBC 3.81 Standards Compliance: ODBC

Resumo
SQLSetConnectAttrForDbcInfo é o mesmo que SQLSetConnectAttr, mas define o atributo no token de informações de conexão em vez de no identificador de conexão.

Sintaxe

  
SQLRETURN  SQLSetConnectAttrForDbcInfo(  
                SQLHDBC_INFO_TOKEN    hDbcInfoToken,  
                SQLINTEGER            Attribute,  
                SQLPOINTER            ValuePtr,  
                SQLINTEGER            StringLength );  

Argumentos

hDbcInfoToken
[Entrada] Identificador de token.

Atributo
[Entrada] Atributo a ser definido. A lista de atributos válidos é específica do driver e a mesma que para SQLSetConnectAttr.

ValuePtr
[Entrada] Ponteiro para o valor a ser associado ao Atributo. Dependendo do valor de Attribute, ValuePtr será um valor inteiro sem sinal de 32 bits ou apontará para uma cadeia de caracteres terminada em nulo. Observe que, se o argumento Attribute for um valor específico do driver, o valor em ValuePtr poderá ser um inteiro com sinal.

Stringlength
[Entrada] Se Attribute for um atributo definido por ODBC e ValuePtr apontar para uma cadeia de caracteres ou um buffer binário, esse argumento deverá ter o comprimento de *ValuePtr. Para dados de cadeia de caracteres, esse argumento deve conter o número de bytes na cadeia de caracteres.

Se Attribute for um atributo definido por ODBC e ValuePtr for um inteiro, StringLength será ignorado.

Se Attribute for um atributo definido pelo driver, o aplicativo indicará a natureza do atributo para o Gerenciador de Driver definindo o argumento StringLength . StringLength pode ter os seguintes valores:

  • Se ValuePtr for um ponteiro para uma cadeia de caracteres, StringLength será o comprimento da cadeia de caracteres ou SQL_NTS.

  • Se ValuePtr for um ponteiro para um buffer binário, o aplicativo colocará o resultado da macro SQL_LEN_BINARY_ATTR(length) em StringLength. Isso coloca um valor negativo em StringLength.

  • Se ValuePtr for um ponteiro para um valor diferente de uma cadeia de caracteres ou uma cadeia de caracteres binária, StringLength deverá ter o valor SQL_IS_POINTER.

  • Se ValuePtr contiver um valor de comprimento fixo, StringLength será SQL_IS_INTEGER ou SQL_IS_UINTEGER, conforme apropriado.

Retornos

SQL_SUCCESS, SQL_SUCCESS_WITH_INFO, SQL_ERROR ou SQL_INVALID_HANDLE.

Diagnósticos

O mesmo que SQLSetConnectAttr, exceto que o Gerenciador de Driver usará um HandleType de SQL_HANDLE_DBC_INFO_TOKEN e um Identificador de hDbcInfoToken.

Comentários

SQLSetConnectAttrForDbcInfo é o mesmo que SQLSetConnectAttr, mas define o atributo no token de informações de conexão, em vez de no identificador de conexão. Por exemplo, se SQLSetConnectAttr não reconhecer um atributo, SQLSetConnectAttrForDbcInfo também deverá retornar SQL_ERROR para esse atributo.

Sempre que o driver retorna SQL_ERROR ou SQL_INVALID_HANDLE, o driver deve ignorar esse atributo para calcular a ID do pool. Além disso, o Gerenciador de Driver obterá as informações de diagnóstico de hDbcInfoToken e retornará SQL_SUCCESS_WITH_INFO para o aplicativo em SQLConnect e SQLDriverConnect. Portanto, um aplicativo pode recuperar detalhes sobre por que alguns atributos não podem ser definidos.

Os aplicativos não devem chamar essa função diretamente. Um driver ODBC que dá suporte ao pool de conexões com reconhecimento de driver deve implementar essa função.

Inclua sqlspi.h para desenvolvimento de driver ODBC.

Consulte Também

Desenvolver um driver ODBC
Pool de conexões com reconhecimento de driver
Desenvolvimento um reconhecimento de pool de conexão em um driver ODBC