Nota
L'accesso a questa pagina richiede l'autorizzazione. Puoi provare ad accedere o a cambiare directory.
L'accesso a questa pagina richiede l'autorizzazione. Puoi provare a cambiare directory.
Per risolvere il problema della concorrenza ridotta nei cursori, ODBC espone quattro diversi tipi di concorrenza del cursore:
Sola lettura Il cursore può leggere i dati, ma non può aggiornare o eliminare dati. Si tratta del tipo di concorrenza predefinito. Anche se il DBMS potrebbe bloccare le righe per applicare i livelli di isolamento di lettura ripetibile e serializzabile, può usare blocchi di lettura anziché di scrittura. Ciò comporta una concorrenza più elevata perché altre transazioni possono almeno leggere i dati.
Blocco Il cursore usa il livello più basso di blocco necessario per assicurarsi che possa aggiornare o eliminare righe nel set di risultati. Questo in genere comporta livelli di concorrenza molto bassi, soprattutto ai livelli di isolamento delle transazioni ripetibili di lettura e serializzabile.
Concorrenza ottimistica con versioni di riga e concorrenza ottimistica usando valori Il cursore usa la concorrenza ottimistica: aggiorna o elimina righe solo se non sono state modificate dopo l'ultima lettura. Per rilevare le modifiche, confronta le versioni o i valori delle righe. Non c'è garanzia che il cursore sarà in grado di aggiornare o eliminare una riga, ma la concorrenza è molto superiore rispetto a quando viene usato il blocco. Per altre informazioni, vedere la sezione seguente, Concorrenza ottimistica.
Un'applicazione specifica il tipo di concorrenza che vuole che il cursore venga usato con l'attributo dell'istruzione SQL_ATTR_CONCURRENCY. Per determinare quali tipi sono supportati, chiama SQLGetInfo con l'opzione SQL_SCROLL_CONCURRENCY.