次の方法で共有


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に置き換えられます。 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

消去元のオフセット。 CLOBNCLOBのデータ型の場合、これは偶数である必要があります。

amount
Int64

消去するデータの量 (バイト単位)。 CLOBNCLOBのデータ型の場合、これは偶数である必要があります。

戻り値

消去されたバイト数。

例外

操作がトランザクション内にありません。 OracleLob オブジェクトが null であるか、接続が閉じられています。

オブジェクトが閉じられたか、破棄されました。

Oracle エラーが発生しました。

注釈

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

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

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

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

適用対象