OracleLob.Erase OracleLob.Erase OracleLob.Erase OracleLob.Erase Method

定義

この OracleLob からデータを消去します。Erases data from this OracleLob.

オーバーロード

Erase() Erase() Erase() Erase()

この OracleLob からすべてのデータを消去します。Erases all data from this OracleLob.

Erase(Int64, Int64) Erase(Int64, Int64) Erase(Int64, Int64) Erase(Int64, Int64)

この OracleLob から、指定したサイズのデータを消去します。Erases the specified amount of data from this OracleLob.

Erase() Erase() Erase() Erase()

この OracleLob からすべてのデータを消去します。Erases all data from this OracleLob.

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

戻り値

消去したバイト数。The number of bytes erased.

例外

操作がトランザクション内で実行されていないか、OracleLob オブジェクトが null か、または接続が閉じられています。The operation is not within a transaction, the OracleLob object is null, or the connection is closed.

オブジェクトが閉じられているか、破棄されています。The object was closed or disposed.

Oracle エラーが発生しました。An Oracle error has occurred.

注釈

Eraseでは、データは切り捨てられません。Erase does not truncate data. 長さLOBBLOBデータ型に対して同じままで、消去されたデータは0x00 で置き換えられます。The LOB length remains the same for a BLOB data type, and the erased data is replaced by 0x00. CLOBおよびNCLOBデータ型はスペースで置き換えられます。CLOB and NCLOB data types are replaced by spaces.

LOB書き込むには、SQL SELECT ステートメントで FOR LOB UPDATE 句を使用してを取得しておく必要があります。また、ローカルトランザクションを開始する必要があります。To write to the LOB, you must have retrieved the LOB using the FOR UPDATE clause in the SQL SELECT statement, and you must have a local transaction started.

注意

このリリースでは、読み取りLOB専用への書き込み操作は成功する可能性がありますが、サーバー上のはLOB更新されません。In this release, a write operation to a read-only LOB might succeed, but does not update the LOB on the server. ただし、この場合、のLOBローカルコピーは更新されます。In this case, however, the local copy of the LOB is updated. そのため、後でOracleLobオブジェクトに対して読み取り操作を実行すると、書き込み操作の結果が返される可能性があります。Therefore, later read operations on the OracleLob object might return the results of the write operation.

Erase(Int64, Int64) Erase(Int64, Int64) Erase(Int64, Int64) Erase(Int64, Int64)

この OracleLob から、指定したサイズのデータを消去します。Erases the specified amount of data from this 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 Int64 Int64 Int64

消去対象のオフセット。The offset from which to erase. CLOB 型および NCLOB 型の場合、これは偶数である必要があります。For CLOB and NCLOB data types, this must be an even number.

amount
Int64 Int64 Int64 Int64

消去するデータのサイズ (バイト単位)。The quantity of data, in bytes, to erase. CLOB 型および NCLOB 型の場合、これは偶数である必要があります。For CLOB and NCLOB data types, this must be an even number.

戻り値

消去したバイト数。The number of bytes erased.

例外

操作がトランザクション内で実行されていないか、OracleLob オブジェクトが null か、または接続が閉じられています。The operation is not within a transaction, the OracleLob object is null, or the connection is closed.

オブジェクトが閉じられているか、破棄されています。The object was closed or disposed.

Oracle エラーが発生しました。An Oracle error has occurred.

注釈

パラメーター offset OracleLobamountパラメーターの値の合計は、のサイズよりも大きくなる場合があります。The sum of the values in the offset and amount parameters can be greater than that of the size of the OracleLob. したがって、 Lengthプロパティによって返された値よりも大きい値を指定すると成功しますOracleLob。ただしErase 、の末尾にのみが消去されます。Therefore, specifying a value greater than that returned by the Length property succeeds; however Erase only erases to the end of the OracleLob. (同様に、負の値がにoffset渡されると、 Eraseは成功しOracleLobますが、はの先頭からのみ消去されます)。この動作は、メソッドReadWriteメソッドの動作とは異なり、実際のサイズを確認するためにサーバーへのラウンドトリップをoffset追加することなく、で指定された値からすべてのデータを消去できるという利点があります。(Similarly, if a negative value is passed to offset, Erase will succeed, but only erase starting from the beginning of the OracleLob.) This behavior is different from that of the Read and Write methods, and offers the advantage of being able to erase all data from the value specified by offset without making an additional roundtrip to the server to verify the actual size.

Eraseでは、データは切り捨てられません。Erase does not truncate data. 長さLOBBLOBデータ型に対して同じままで、消去されたデータは0x00 で置き換えられます。The LOB length remains the same for a BLOB data type, and the erased data is replaced by 0x00. CLOBおよびNCLOBデータ型はスペースで置き換えられます。CLOB and NCLOB data types are replaced by spaces.

LOB書き込むには、SQL SELECT ステートメントで FOR LOB UPDATE 句を使用してを取得しておく必要があります。また、ローカルトランザクションを開始する必要があります。To write to the LOB, you must have retrieved the LOB using the FOR UPDATE clause in the SQL SELECT statement, and you must have a local transaction started.

注意

このリリースでは、読み取りLOB専用への書き込み操作は成功する可能性がありますが、サーバー上のはLOB更新されません。In this release, a write operation to a read-only LOB might succeed, but does not update the LOB on the server. ただし、この場合、のLOBローカルコピーは更新されます。In this case, however, the local copy of the LOB is updated. そのため、後でOracleLobオブジェクトに対して読み取り操作を実行すると、書き込み操作の結果が返される可能性があります。Therefore, later read operations on the OracleLob object might return the results of the write operation.

適用対象