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

要从中清除的偏移量。 对于 CLOBNCLOB 数据类型,它必须为偶数。

amount
Int64

要清除的数据数量(以字节为单位)。 对于 CLOBNCLOB 数据类型,它必须为偶数。

返回

清除的字节数。

例外

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

对象已关闭或已释放。

发生了 Oracle 错误。

注解

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

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

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

注意

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

适用于