Controls the level of locking and record access to ODBC-accessible tables.
IsolationLevel=[ur | cr | rr | sr | vr | no]
no
Following are descriptions of isolation levels from the Microsoft ODBC 3.5 Programmer’s Reference and SDK Guide:
Dirty read: Transaction 1 changes a row. Transaction 2 reads the changed row before transaction 1 commits the change. If transaction 1 rolls back the change, transaction 2 will have read a row that is considered to have never existed.
Nonrepeatable Read: Transaction 1 reads a row. Transaction 2 updates or deletes that row and commits the change. If transaction 1 attempts to reread the row, it receives different row values or discovers that the row has been deleted.
Phantom: Transaction 1 reads a set of rows that satisfy some search criteria. Transaction 2 inserts a row that matches the search criteria. If transaction 1 re-executes the statement to read the rows, it receives a different set of rows.
Acceptable values are as follows:
ur (uncommitted read): Dirty reads, nonrepeatable reads, and phantoms are possible.
cr (committed read): Dirty reads are not possible. Nonrepeatable reads and phantoms are possible.
rr (repeatable read): Dirty reads and nonrepeatable reads are not possible. Phantoms are possible.
sr (serializable): Transactions can be serialized. Dirty reads, nonrepeatable reads, and phantoms are not possible. This is usually implemented by using locking protocols that reduce concurrency.
vr (versioning): Transactions can be serialized, but this value provides higher concurrency. Dirty reads are not possible. This is usually implemented by using nonlocking protocols, such as record versioning.
no (none): Uses the ODBC driver default level.