通过


OracleLob.Erase 方法

定义

清除此 OracleLob数据。

重载

名称 说明
Erase()

清除此 OracleLob数据中的所有数据。

Erase(Int64, Int64)

清除此 OracleLob数据中的指定量。

Erase()

清除此 OracleLob数据中的所有数据。

public:
 long Erase();
public long Erase();
member this.Erase : unit -> int64
Public Function Erase () As Long

返回

擦除的字节数。

例外

该操作不在事务中,对象 OracleLob 为 null,或连接已关闭。

对象已关闭或释放。

发生 Oracle 错误。

注解

Erase 不会截断数据。 数据类型 LOB 的长度保持不变 BLOB ,擦除的数据将替换为0x00。 CLOBNCLOB 数据类型由空格替换。

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

注释

在此版本中,对只读 LOB 的写入操作可能会成功,但不更新 LOB 服务器上的写入操作。 但是,在这种情况下,将更新该 LOB 副本的本地副本。 因此,以后对 OracleLob 对象的读取操作可能会返回写入操作的结果。

适用于

Erase(Int64, Int64)

清除此 OracleLob数据中的指定量。

public:
 long Erase(long offset, long amount);
public long Erase(long offset, long amount);
member this.Erase : int64 * int64 -> int64
Public Function Erase (offset As Long, amount As Long) As Long

参数

offset
Int64

要擦除的偏移量。 对于 CLOB 数据类型和 NCLOB 数据类型,这必须是偶数。

amount
Int64

要擦除的数据数量(以字节为单位)。 对于 CLOB 数据类型和 NCLOB 数据类型,这必须是偶数。

返回

擦除的字节数。

例外

该操作不在事务中,对象 OracleLob 为 null,或连接已关闭。

对象已关闭或释放。

发生 Oracle 错误。

注解

参数中的 offset 值之和 amount 可以大于 OracleLob大小之和。 因此,指定大于属性返回 Length 的值会成功;但 Erase 只会擦除到末尾 OracleLob。 (同样,如果传递给offset负值,Erase将成功,但仅从开头OracleLob开始擦除。此行为与ReadWrite方法不同,并具有从值offset中清除所有数据的优势,而无需对服务器进行额外的往返来验证实际大小。

Erase 不会截断数据。 数据类型 LOB 的长度保持不变 BLOB ,擦除的数据将替换为0x00。 CLOBNCLOB 数据类型由空格替换。

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

注释

在此版本中,对只读 LOB 的写入操作可能会成功,但不更新 LOB 服务器上的写入操作。 但是,在这种情况下,将更新该 LOB 副本的本地副本。 因此,以后对 OracleLob 对象的读取操作可能会返回写入操作的结果。

适用于