Funzione SQLSetConnectAttrForDbcInfo

Conformità
Versione introdotta: Conformità agli standard ODBC 3.81: ODBC

Riepilogo
SQLSetConnectAttrForDbcInfo è uguale a SQLSetConnectAttr, ma imposta l'attributo sul token di informazioni di connessione anziché sull'handle di connessione.

Sintassi

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

Argomenti

hDbcInfoToken
[Input] Handle del token.

Attributo
[Input] Attributo da impostare. L'elenco di attributi validi è specifico del driver e uguale a per SQLSetConnectAttr.

ValuePtr
[Input] Puntatore al valore da associare a Attribute. A seconda del valore di Attribute, ValuePtr sarà un valore intero senza segno a 32 bit o punterà a una stringa di caratteri con terminazione Null. Si noti che se l'argomento Attribute è un valore specifico del driver, il valore in ValuePtr può essere un intero con segno.

StringLength
[Input] Se Attribute è un attributo definito da ODBC e ValuePtr punta a una stringa di caratteri o a un buffer binario, questo argomento deve essere la lunghezza di *ValuePtr. Per i dati stringa di caratteri, questo argomento deve contenere il numero di byte nella stringa.

Se Attribute è un attributo definito da ODBC e ValuePtr è un numero intero, StringLength viene ignorato.

Se Attribute è un attributo definito dal driver, l'applicazione indica la natura dell'attributo a Gestione driver impostando l'argomento StringLength . StringLength può avere i valori seguenti:

  • Se ValuePtr è un puntatore a una stringa di caratteri, StringLength è la lunghezza della stringa o SQL_NTS.

  • Se ValuePtr è un puntatore a un buffer binario, l'applicazione inserisce il risultato della macro SQL_LEN_BINARY_ATTR(length) in StringLength. In questo modo viene impostato un valore negativo in StringLength.

  • Se ValuePtr è un puntatore a un valore diverso da una stringa di caratteri o una stringa binaria, StringLength deve avere il valore SQL_IS_POINTER.

  • Se ValuePtr contiene un valore a lunghezza fissa, StringLength è SQL_IS_INTEGER o SQL_IS_UINTEGER, in base alle esigenze.

Resi

SQL_SUCCESS, SQL_SUCCESS_WITH_INFO, SQL_ERROR o SQL_INVALID_HANDLE.

Diagnostica

Uguale a SQLSetConnectAttr, ad eccezione del fatto che Gestione driver userà un HandleType di SQL_HANDLE_DBC_INFO_TOKEN e un handle di hDbcInfoToken.

Osservazioni:

SQLSetConnectAttrForDbcInfo è uguale a SQLSetConnectAttr, ma imposta l'attributo sul token di informazioni di connessione anziché sull'handle di connessione. Ad esempio, se SQLSetConnectAttr non riconosce un attributo, SQLSetConnectAttrForDbcInfo deve restituire anche SQL_ERROR per tale attributo.

Ogni volta che il driver restituisce SQL_ERROR o SQL_INVALID_HANDLE, il driver deve ignorare questo attributo per calcolare l'ID pool. Gestione driver otterrà inoltre le informazioni di diagnostica da hDbcInfoToken e restituirà SQL_SUCCESS_WITH_INFO all'applicazione in SQLConnect e SQLDriverConnect. Pertanto, un'applicazione può recuperare informazioni dettagliate sul motivo per cui non è possibile impostare alcuni attributi.

Le applicazioni non devono chiamare direttamente questa funzione. Un driver ODBC che supporta il pool di connessioni compatibile con driver deve implementare questa funzione.

Includere sqlspi.h per lo sviluppo di driver ODBC.

Vedi anche

Sviluppo di un driver ODBC
Pool di connessioni compatibile con il driver
Sviluppo del rilevamento di pool di connessioni in un driver ODBC