指定 SQL Anywhere 隔离级别。
Public Enum SAIsolationLevel
public enum SAIsolationLevel
成员名称 | 说明 |
---|---|
Chaos |
不支持此隔离级别。 如果使用该隔离级别调用 SAConnection.BeginTransaction,将会抛出异常。 有关详细信息,请参见SAConnection.BeginTransaction 方法 [SQL Anywhere .NET]。 |
ReadCommitted |
将行为设置为等同于隔离级别 1。 此隔离级别可防止脏读,但会启用非可重复读取和幻像行。 有关详细信息,请参见隔离级别和一致性。 |
ReadUncommitted |
将行为设置为等同于隔离级别 0。 此隔离级别允许脏读、非可重复读取和幻像行。 有关详细信息,请参见隔离级别和一致性。 |
RepeatableRead |
将行为设置为等同于隔离级别 2。 此隔离级别防止脏读,并确保可重复读取。然而,它仍允许幻像行。 有关详细信息,请参见隔离级别和一致性。 |
Serializable |
将行为设置为等同于隔离级别 3。 此隔离级别防止脏读、确保可重复读取并禁止幻像行。 有关详细信息,请参见隔离级别和一致性。 |
Snapshot |
从事务读取、插入、更新或删除第一行时开始,使用已提交数据的快照。 此隔离级别使用事务读取或更新第一行之时起已提交数据的快照。 有关详细信息,请参见隔离级别和一致性。 |
未指定 |
不支持此隔离级别。 如果使用该隔离级别调用 SAConnection.BeginTransaction,将会抛出异常。 有关详细信息,请参见SAConnection.BeginTransaction 方法 [SQL Anywhere .NET]。 |
ReadOnlySnapshot |
对于只读语句,从读取数据库的第一行时开始,使用已提交数据的快照。 非重复读取和幻像行可能发生在事务中,但不会发生在单个语句中。对于可更新语句,使用 updatable_statement_isolation 选项指定的隔离级别(可以是 0(缺省值)、1、2 或 3)。 有关详细信息,请参见隔离级别和一致性。 |
StatementSnapshot |
从语句读取第一行开始,使用已提交数据的快照。 事务内的每个语句看到的都是不同时间的数据快照。 对于每个语句,从读取数据库的第一行时开始,使用已提交数据的快照。非重复读取和幻像行可能发生在事务中,但不会发生在单个语句中。 有关详细信息,请参见隔离级别和一致性。 |
此类会扩展 System.Data.IsolationLevel 类。
SQL Anywhere .NET 数据提供程序支持所有 SQL Anywhere 隔离级别,包括快照隔离级别。要使用快照隔离,请指定 SAIsolationLevel.Snapshot、SAIsolationLevel.ReadOnlySnapshot 或 SAIsolationLevel.StatementSnapshot 之一作为 BeginTransaction 的参数。BeginTransaction 已经重载,因此它可以带有 IsolationLevel 或 SAIsolationLevel。这两个枚举中的值基本相同,只是 ReadOnlySnapshot 和 StatementSnapshot 仅存在于 SAIsolationLevel 中。名为 SAIsolationLevel 的 SATransaction 中有一个用于获取 SAIsolationLevel 的新属性。
有关详细信息,请参见快照隔离。
![]() |
使用DocCommentXchange讨论此页。
|
版权 © 2013, SAP 股份公司或其关联公司. - SAP Sybase SQL Anywhere 16.0 |