次の方法で共有


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 はデータを切り捨てません。 データ型の長さは LOBBLOB わらず、消去されたデータは0x00に置き換えられます。 CLOB データ型と NCLOB データ型はスペースに置き換えられます。

を に 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 エラーが発生しました。

注釈

パラメーターと amount パラメーターのoffset値の合計は、 のサイズOracleLobよりも大きくすることができます。 したがって、 プロパティによって返される値より大きい値を Length 指定すると成功します。ただし Erase 、 の OracleLob末尾までしか消去されません。 (同様に、負の値が にoffsetErase渡された場合は成功しますが、 のOracleLob先頭から消去するだけです)。この動作は および Write メソッドとは異なり、サーバーに対して追加のReadラウンドトリップを行わずに、 によってoffset指定された値からすべてのデータを消去して実際のサイズを確認できるという利点があります。

Erase はデータを切り捨てません。 データ型の長さは LOBBLOB わらず、消去されたデータは0x00に置き換えられます。 CLOB データ型と NCLOB データ型はスペースに置き換えられます。

を に LOB書き込むには、SQL SELECT ステートメントで FOR UPDATE 句を使用して を取得 LOB し、ローカル トランザクションを開始する必要があります。

注意

このリリースでは、読み取り専用 LOB に対する書き込み操作は成功する可能性がありますが、サーバー上の を LOB 更新しません。 ただし、この場合、 のローカル コピー LOB が更新されます。 したがって、オブジェクトに対する後の読み取り OracleLob 操作は、書き込み操作の結果を返す可能性があります。

適用対象