Freigeben über


OracleLob.Erase Methode

Definition

Löscht Daten aus diesem OracleLob.

Überlädt

Erase()

Löscht alle Daten aus diesem OracleLob.

Erase(Int64, Int64)

Löscht die angegebene Datenmenge aus diesem OracleLob.

Erase()

Löscht alle Daten aus diesem OracleLob.

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

Gibt zurück

Die Anzahl der gelöschten Bytes.

Ausnahmen

Die Operation befindet sich nicht innerhalb einer Transaktion, das OracleLob-Objekt ist NULL, oder die Verbindung ist geschlossen.

Das Objekt war geschlossen oder freigegeben.

Es ist ein Oracle-Fehler aufgetreten.

Hinweise

Erase schneidet keine Daten ab. Die LOB Länge bleibt für einen BLOB Datentyp gleich, und die gelöschten Daten werden durch 0x00 ersetzt. CLOB Datentypen und NCLOB werden durch Leerzeichen ersetzt.

Um in zu LOBschreiben, müssen Sie die mithilfe der FOR UPDATE-Klausel LOB in der SQL SELECT-Anweisung abgerufen haben, und Sie müssen eine lokale Transaktion gestartet haben.

Hinweis

In dieser Version kann ein Schreibvorgang für einen schreibgeschützten LOB Vorgang erfolgreich sein, aktualisiert aber nicht auf LOB dem Server. In diesem Fall wird jedoch die lokale Kopie des LOB aktualisiert. Daher können spätere Lesevorgänge für das OracleLob Objekt die Ergebnisse des Schreibvorgangs zurückgeben.

Gilt für:

Erase(Int64, Int64)

Löscht die angegebene Datenmenge aus diesem 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. Bei CLOB-Datentypen und NCLOB-Datentypen muss dies eine gerade Zahl sein.

amount
Int64

Die zu löschende Datenmenge in Bytes. Bei CLOB-Datentypen und NCLOB-Datentypen muss dies eine gerade Zahl sein.

Gibt zurück

Die Anzahl der gelöschten Bytes.

Ausnahmen

Die Operation befindet sich nicht innerhalb einer Transaktion, das OracleLob-Objekt ist NULL, oder die Verbindung ist geschlossen.

Das Objekt war geschlossen oder freigegeben.

Es ist ein Oracle-Fehler aufgetreten.

Hinweise

Die Summe der Werte in den offset Parametern und amount kann größer als die der Größe von OracleLobsein. Daher ist die Angabe eines Werts, der größer als der von der Length -Eigenschaft zurückgegeben wird, erfolgreich. Wird jedoch Erase nur am Ende von OracleLobgelöscht. (Ebenso wird, wenn ein negativer Wert an übergeben wird, offsetErase erfolgreich, aber nur ab dem Anfang des OracleLobgelöscht.) Dieses Verhalten unterscheidet sich von dem Read der Methoden und Write und bietet den Vorteil, dass alle Daten aus dem von offset angegebenen Wert gelöscht werden können, ohne einen zusätzlichen Roundtrip zum Server zu machen, um die tatsächliche Größe zu überprüfen.

Erase schneidet keine Daten ab. Die LOB Länge bleibt für einen BLOB Datentyp gleich, und die gelöschten Daten werden durch 0x00 ersetzt. CLOB Datentypen und NCLOB werden durch Leerzeichen ersetzt.

Um in zu LOBschreiben, müssen Sie die mithilfe der FOR UPDATE-Klausel LOB in der SQL SELECT-Anweisung abgerufen haben, und Sie müssen eine lokale Transaktion gestartet haben.

Hinweis

In dieser Version kann ein Schreibvorgang für einen schreibgeschützten LOB Vorgang erfolgreich sein, aktualisiert aber nicht auf LOB dem Server. In diesem Fall wird jedoch die lokale Kopie des LOB aktualisiert. Daher können spätere Lesevorgänge für das OracleLob Objekt die Ergebnisse des Schreibvorgangs zurückgeben.

Gilt für: