OracleLob.Erase Method
Definition
Important
Some information relates to prerelease product that may be substantially modified before it’s released. Microsoft makes no warranties, express or implied, with respect to the information provided here.
Erases data from this OracleLob.
Overloads
Erase() |
Erases all data from this OracleLob. |
Erase(Int64, Int64) |
Erases the specified amount of data from this OracleLob. |
Erase()
Erases all data from this OracleLob.
public:
long Erase();
public long Erase ();
member this.Erase : unit -> int64
Public Function Erase () As Long
Returns
The number of bytes erased.
Exceptions
The operation is not within a transaction, the OracleLob object is null, or the connection is closed.
The object was closed or disposed.
An Oracle error has occurred.
Remarks
Erase does not truncate data. The LOB
length remains the same for a BLOB
data type, and the erased data is replaced by 0x00. CLOB
and NCLOB
data types are replaced by spaces.
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.
Note
In this release, a write operation to a read-only LOB
might succeed, but does not update the LOB
on the server. In this case, however, the local copy of the LOB
is updated. Therefore, later read operations on the OracleLob object might return the results of the write operation.
Applies to
Erase(Int64, Int64)
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
Parameters
- offset
- Int64
The offset from which to erase. For CLOB
and NCLOB
data types, this must be an even number.
- amount
- Int64
The quantity of data, in bytes, to erase. For CLOB
and NCLOB
data types, this must be an even number.
Returns
The number of bytes erased.
Exceptions
The operation is not within a transaction, the OracleLob object is null, or the connection is closed.
The object was closed or disposed.
An Oracle error has occurred.
Remarks
The sum of the values in the offset
and amount
parameters can be greater than that of the size of the OracleLob. Therefore, specifying a value greater than that returned by the Length property succeeds; however Erase only erases to the end of the OracleLob. (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 does not truncate data. The LOB
length remains the same for a BLOB
data type, and the erased data is replaced by 0x00. CLOB
and NCLOB
data types are replaced by spaces.
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.
Note
In this release, a write operation to a read-only LOB
might succeed, but does not update the LOB
on the server. In this case, however, the local copy of the LOB
is updated. Therefore, later read operations on the OracleLob object might return the results of the write operation.