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 值總和 amount 可以大於的大小 OracleLob。 因此,指定大於 屬性所 Length 傳回的值會成功;不過 Erase ,只會清除到 結尾 OracleLob。 (同樣地,如果將負值傳遞至 offsetErase將會成功,但只會從 OracleLob.) 開始清除 此行為與 和 Write 方法的開頭不同Read,並提供能夠清除 所offset指定值的所有數據的優點,而不需要額外往返伺服器來驗證實際大小。

Erase 不會截斷數據。 數據類型的 LOB 長度會維持不變 BLOB ,而且清除的數據會由0x00取代。 CLOBNCLOB 數據類型會以空格取代。

若要寫入 LOB,您必須已在 SQL SELECT 語句中使用 FOR UPDATE 子句擷取 LOB ,而且必須啟動本機交易。

注意

這個版本中,唯讀 LOB 的寫入作業可能會成功,但不會更新 LOB 伺服器上的 。 不過,在此情況下,會更新的 LOB 本地副本。 因此,物件上稍後的 OracleLob 讀取作業可能會傳回寫入作業的結果。

適用於