Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Microsoft ODBC Driver for DB2 offre flessibilità nella gestione dei problemi relativi ai livelli di isolamento e allo stato delle transazioni. La funzione ODBC SQLSetConnectAttr viene utilizzata per impostare il livello di isolamento da utilizzare per una connessione. Questa funzione viene chiamata con il parametro dell'attributo impostato su SQL_ATTR_TXN_ISOLATION e il parametro ValuePtr che punta a un valore intero che indica il livello di isolamento richiesto. Questo valore intero è una maschera a 32 bit che imposta il livello di isolamento della transazione per la connessione corrente.
I valori consentiti per il livello di isolamento (il parametro ValuePtr quando si chiama SQLSetConnectAttr) possono essere determinati chiamando SQLGetInfo con InfoType uguale a SQL_TXN_ISOLATION_OPTION. Nella tabella seguente sono elencati i valori consentiti per il livello di isolamento usando il driver ODBC per DB2 fornito con Host Integration Server.
Attributo del livello di isolamento ODBC | Descrizione |
---|---|
SQL_TXN_READ_COMMITTED | Quando questo valore dell'attributo viene impostato, non è possibile visualizzare tutti i dati letti dalle modifiche apportate da altri utenti e le modifiche apportate da altri utenti. Gli altri influiscono sulla nuova esecuzione dell'istruzione Read. Non supporta una lettura ripetibile. Questo è il valore predefinito per il livello di isolamento Questo livello di isolamento è chiamato anche Cursor Stability (CS) nella documentazione di IBM DB2. |
SQL_TXN_READ_UNCOMMITTED | Quando questo valore dell'attributo è impostato, non isola i dati letti dalle modifiche da altri utenti e le modifiche apportate da altri utenti possono essere visualizzate. Gli altri influiscono sulla nuova esecuzione dell'istruzione Read. Non supporta una lettura ripetibile. Questo livello di isolamento è chiamato Uncommitted Read (UR) nella documentazione di IBM DB2. |
SQL_TXN_REPEATABLE_READ | Quando questo valore dell'attributo è impostato, isola tutti i dati letti dalle modifiche da altri utenti e non è possibile visualizzare le modifiche apportate da altri utenti. Gli altri influiscono sulla nuova esecuzione dell'istruzione Read. Supporta una lettura ripetibile. Questo livello di isolamento è chiamato Read Stability (RS) nella documentazione di IBM DB2. |
SQL_TXN_SERIALIZABLE | Quando questo valore dell'attributo viene impostato, non è possibile visualizzare tutti i dati letti dalle modifiche apportate da altri utenti e le modifiche apportate da altri utenti. Gli altri non influiscono sulla nuova esecuzione dell'istruzione Read. Supporta una lettura ripetibile. Questo livello di isolamento è chiamato Repeatable Read (RR) nella documentazione di IBM DB2. |
L'attributo SQL_ATTR_TXN_ISOLATION può essere impostato solo se non sono presenti transazioni aperte nella connessione. Un'applicazione deve chiamare SQLEndTran per eseguire il commit o il rollback di tutte le transazioni aperte in una connessione, prima di chiamare SQLSetConnectAttr con questa opzione.
Alcuni attributi di connessione supportano la sostituzione di un valore simile se l'origine dati non supporta il valore specificato in ValuePtr. In questi casi, il driver restituisce SQL_SUCCESS_WITH_INFO e SQLSTATE 01S02 (valore opzione modificato). Per determinare il valore sostituito, un'applicazione chiama SQLGetConnectAttr.