OracleLob.BeginBatch 方法

定义

在执行多个写操作时避免服务器端触发器激发。

重载

BeginBatch()

在执行多个读操作时避免服务器端触发器激发。

BeginBatch(OracleLobOpenMode)

在以指定的访问模式执行多个读写操作时避免服务器端触发器激发。

BeginBatch()

在执行多个读操作时避免服务器端触发器激发。

public:
 void BeginBatch();
public void BeginBatch ();
member this.BeginBatch : unit -> unit
Public Sub BeginBatch ()

例外

连接已关闭。

对象已关闭或已释放。

发生了 Oracle 错误。

注解

在 模式下打开 ;LOB因此,LOB在对 的相应调用EndBatch之前,只能从中读取而不是ReadOnly写入 。 若要对 执行批量写入LOB,请使用 ReadWrite调用 BeginBatch

在同一事务中调用 BeginBatch 多个时间当前将引发 Oracle“ORA-22293:LOB 已在同一事务中打开”错误。 此外,如果使用另一个 OracleDataReader获取 LOB ,并且原始调用方尚未调用 EndBatch 方法,则会生成相同的错误。 因此,在使用 完 OracleLob后,必须调用 EndBatch 方法。

适用于

BeginBatch(OracleLobOpenMode)

在以指定的访问模式执行多个读写操作时避免服务器端触发器激发。

public:
 void BeginBatch(System::Data::OracleClient::OracleLobOpenMode mode);
public void BeginBatch (System.Data.OracleClient.OracleLobOpenMode mode);
member this.BeginBatch : System.Data.OracleClient.OracleLobOpenMode -> unit
Public Sub BeginBatch (mode As OracleLobOpenMode)

参数

mode
OracleLobOpenMode

模式(OracleLobOpenMode 值之一),在该模式下,可在此 BeginBatch(OracleLobOpenMode) 调用与对应的 EndBatch() 调用之间访问 LOB

例外

连接已关闭。

对象已关闭或已释放。

发生了 Oracle 错误。

注解

若要写入 到 , LOB必须在 SQL SELECT 语句中使用 FOR UPDATE 子句检索 LOB ,并且必须启动本地事务。

在同一事务中调用 BeginBatch 多个时间当前将引发 Oracle“ORA-22293:LOB 已在同一事务中打开”错误。 此外,如果使用另一个 OracleDataReader获取 LOB ,并且原始调用方尚未调用 EndBatch 方法,则会生成相同的错误。 因此,在使用 完 OracleLob后,必须调用 EndBatch 方法。

适用于