Condividi tramite


Attributi di connessione

Gli attributi di connessione sono caratteristiche della connessione. Ad esempio, poiché le transazioni si verificano a livello di connessione, il livello di isolamento della transazione è un attributo di connessione. Analogamente, il timeout di accesso o il numero di secondi di attesa durante il tentativo di connessione prima del timeout è un attributo di connessione.

Gli attributi di connessione vengono impostati con SQLSetConnectAttr e le relative impostazioni correnti recuperate con SQLGetConnectAttr. Se SQLSetConnectAttr viene chiamato prima del caricamento del driver, Gestione driver archivia gli attributi nella struttura di connessione e li imposta nel driver come parte del processo di connessione. Non è necessario che un'applicazione imposti attributi di connessione; tutti gli attributi di connessione hanno valori predefiniti, alcuni dei quali sono specifici del driver.

Un attributo di connessione può essere impostato prima o dopo la connessione oppure, a seconda dell'attributo e del driver. Il timeout di accesso (SQL_ATTR_LOGIN_TIMEOUT) si applica al processo di connessione ed è efficace solo se impostato prima della connessione. Gli attributi che specificano se utilizzare la libreria di cursori ODBC (SQL_ATTR_ODBC_CURSORS) e le dimensioni del pacchetto di rete (SQL_ATTR_PACKET_SIZE) devono essere impostati prima della connessione, perché la libreria di cursori ODBC risiede tra Gestione driver e il driver e pertanto deve essere caricata prima del driver.

Gli attributi per specificare se un'origine dati è di sola lettura o lettura-scrittura (SQL_ATTR_ACCESS_MODE) e il catalogo corrente (SQL_ATTR_CURRENT_CATALOG) possono essere impostati prima o dopo la connessione, a seconda del driver. Tuttavia, le applicazioni interoperabili le impostano prima della connessione perché alcuni driver non supportano la modifica di questi elementi dopo la connessione.

Alcuni attributi di connessione hanno un valore predefinito prima che venga stabilita la connessione, mentre altri no. Quelle che lo fanno sono: SQL_ATTR_ACCESS_MODE, SQL_ATTR_AUTOCOMMIT, SQL_ATTR_LOGIN_TIMEOUT, SQL_ATTR_ODBC_CURSORS, SQL_ATTR_TRACE e SQL_ATTR_TRACEFILE.

Gli attributi di connessione traslazione (SQL_ATTR_TRANSLATE_DLL e SQL_ATTR_TRANSLATE_OPTION) devono essere impostati dopo la connessione.

Tutti gli altri attributi di connessione possono essere impostati in qualsiasi momento. Per altre informazioni, vedere la descrizione della funzione SQLSetConnectAttr . Gli attributi di connessione non possono essere impostati a livello di ambiente da una chiamata a SQLSetEnvAttr.