OracleLob.Erase Methode

Definition

Löscht Daten aus diesem OracleLob.Erases data from this OracleLob.

Überlädt

Erase()

Löscht alle Daten aus diesem OracleLob.Erases all data from this OracleLob.

Erase(Int64, Int64)

Löscht die angegebene Datenmenge aus diesem OracleLob.Erases the specified amount of data from this OracleLob.

Erase()

Löscht alle Daten aus diesem OracleLob.Erases all data from this OracleLob.

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

Gibt zurück

Int64

Die Anzahl der gelöschten Bytes.The number of bytes erased.

Ausnahmen

Die Operation befindet sich nicht innerhalb einer Transaktion, das OracleLob-Objekt ist NULL, oder die Verbindung ist geschlossen.The operation is not within a transaction, the OracleLob object is null, or the connection is closed.

Das Objekt war geschlossen oder freigegeben.The object was closed or disposed.

Es ist ein Oracle-Fehler aufgetreten.An Oracle error has occurred.

Hinweise

EraseDaten werden nicht abgeschnitten.Erase does not truncate data. Die LOB Länge bleibt für einen BLOB Datentyp unverändert, und die gelöschten Daten werden durch 0x00 ersetzt.The LOB length remains the same for a BLOB data type, and the erased data is replaced by 0x00. CLOB``NCLOBdie Datentypen und werden durch Leerzeichen ersetzt.CLOB and NCLOB data types are replaced by spaces.

Um in den zu schreiben LOB , müssen Sie den LOB mithilfe der for Update-Klausel in der SQL-SELECT-Anweisung abgerufen haben, und Sie müssen eine lokale Transaktion gestartet haben.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.

Hinweis

In dieser Version kann ein Schreibvorgang in einen schreibgeschützten Vorgang LOB erfolgreich durchgeführt werden, der auf dem Server wird jedoch nicht aktualisiert LOB .In this release, a write operation to a read-only LOB might succeed, but does not update the LOB on the server. In diesem Fall wird jedoch die lokale Kopie von LOB aktualisiert.In this case, however, the local copy of the LOB is updated. Daher können spätere Lesevorgänge für das OracleLob Objekt die Ergebnisse des Schreibvorgangs zurückgeben.Therefore, later read operations on the OracleLob object might return the results of the write operation.

Gilt für:

Erase(Int64, Int64)

Löscht die angegebene Datenmenge aus diesem 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

Parameter

offset
Int64

Der Offset, ab dem gelöscht werden soll.The offset from which to erase. Bei CLOB-Datentypen und NCLOB-Datentypen muss dies eine gerade Zahl sein.For CLOB and NCLOB data types, this must be an even number.

amount
Int64

Die zu löschende Datenmenge in Bytes.The quantity of data, in bytes, to erase. Bei CLOB-Datentypen und NCLOB-Datentypen muss dies eine gerade Zahl sein.For CLOB and NCLOB data types, this must be an even number.

Gibt zurück

Int64

Die Anzahl der gelöschten Bytes.The number of bytes erased.

Ausnahmen

Die Operation befindet sich nicht innerhalb einer Transaktion, das OracleLob-Objekt ist NULL, oder die Verbindung ist geschlossen.The operation is not within a transaction, the OracleLob object is null, or the connection is closed.

Das Objekt war geschlossen oder freigegeben.The object was closed or disposed.

Es ist ein Oracle-Fehler aufgetreten.An Oracle error has occurred.

Hinweise

Die Summe der Werte in den offset amount Parametern und kann größer sein als die Größe des OracleLob .The sum of the values in the offset and amount parameters can be greater than that of the size of the OracleLob. Daher ist die Angabe eines Werts größer als der, der von der-Eigenschaft zurückgegeben wird, Length erfolgreich, aber Erase nur bis zum Ende der OracleLob .Therefore, specifying a value greater than that returned by the Length property succeeds; however Erase only erases to the end of the OracleLob. (Auf ähnliche Weise wird, wenn ein negativer Wert an übermittelt wird, offset Erase erfolgreich ausgeführt, aber erst ab dem Anfang der gelöscht OracleLob .) Dieses Verhalten unterscheidet sich von der Read -Methode und der- Write Methode und bietet den Vorteil, dass alle Daten aus dem von angegebenen Wert gelöscht werden können, offset ohne dass ein zusätzlicher Roundtrip zum Server durchführt, um die tatsächliche Größe zu überprüfen.(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.

EraseDaten werden nicht abgeschnitten.Erase does not truncate data. Die LOB Länge bleibt für einen BLOB Datentyp unverändert, und die gelöschten Daten werden durch 0x00 ersetzt.The LOB length remains the same for a BLOB data type, and the erased data is replaced by 0x00. CLOB``NCLOBdie Datentypen und werden durch Leerzeichen ersetzt.CLOB and NCLOB data types are replaced by spaces.

Um in den zu schreiben LOB , müssen Sie den LOB mithilfe der for Update-Klausel in der SQL-SELECT-Anweisung abgerufen haben, und Sie müssen eine lokale Transaktion gestartet haben.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.

Hinweis

In dieser Version kann ein Schreibvorgang in einen schreibgeschützten Vorgang LOB erfolgreich durchgeführt werden, der auf dem Server wird jedoch nicht aktualisiert LOB .In this release, a write operation to a read-only LOB might succeed, but does not update the LOB on the server. In diesem Fall wird jedoch die lokale Kopie von LOB aktualisiert.In this case, however, the local copy of the LOB is updated. Daher können spätere Lesevorgänge für das OracleLob Objekt die Ergebnisse des Schreibvorgangs zurückgeben.Therefore, later read operations on the OracleLob object might return the results of the write operation.

Gilt für: