OracleLob.Erase Metodo

Definizione

Consente di cancellare i dati da questo oggetto OracleLob.

Overload

Erase()

Consente di cancellare tutti i dati da questo oggetto OracleLob.

Erase(Int64, Int64)

Consente di cancellare la quantità specificata di dati da questo oggetto OracleLob.

Erase()

Consente di cancellare tutti i dati da questo oggetto OracleLob.

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

Restituisce

Numero di byte cancellati.

Eccezioni

L'operazione non è presente all'interno di una transazione, l'oggetto OracleLob è null oppure la connessione è chiusa.

L'oggetto è stato chiuso o eliminato.

Si è verificato un errore Oracle.

Commenti

Erase non tronca i dati. La LOB lunghezza rimane invariata per un BLOB tipo di dati e i dati cancellati vengono sostituiti da 0x00. CLOB e NCLOB i tipi di dati vengono sostituiti da spazi.

Per scrivere in LOB, è necessario aver recuperato LOB utilizzando la clausola FOR UPDATE nell'istruzione SQL SELECT ed è necessario avviare una transazione locale.

Nota

In questa versione, un'operazione di scrittura in una sola lettura LOB potrebbe avere esito positivo, ma non aggiorna nel LOB server. In questo caso, tuttavia, la copia locale di LOB viene aggiornata. Pertanto, le operazioni di lettura successive sull'oggetto OracleLob potrebbero restituire i risultati dell'operazione di scrittura.

Si applica a

Erase(Int64, Int64)

Consente di cancellare la quantità specificata di dati da questo oggetto 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

Parametri

offset
Int64

Offset da cui cancellare. Per i tipi di dati CLOB e NCLOB, deve trattarsi di un numero pari.

amount
Int64

Quantità di dati in byte da cancellare. Per i tipi di dati CLOB e NCLOB, deve trattarsi di un numero pari.

Restituisce

Numero di byte cancellati.

Eccezioni

L'operazione non è presente all'interno di una transazione, l'oggetto OracleLob è null oppure la connessione è chiusa.

L'oggetto è stato chiuso o eliminato.

Si è verificato un errore Oracle.

Commenti

La somma dei valori nei offset parametri e amount può essere maggiore di quella della dimensione dell'oggetto OracleLob. Pertanto, se si specifica un valore maggiore di quello restituito dalla Length proprietà viene eseguito correttamente. Tuttavia Erase , viene cancellata solo alla fine dell'oggetto OracleLob. Analogamente, se un valore negativo viene passato a offset, Erase avrà esito positivo, ma cancellerà solo a partire dall'inizio di OracleLob. Questo comportamento è diverso da quello dei Read metodi e Write e offre il vantaggio di poter cancellare tutti i dati dal valore specificato senza offset effettuare un round trip aggiuntivo al server per verificare le dimensioni effettive.

Erase non tronca i dati. La LOB lunghezza rimane invariata per un BLOB tipo di dati e i dati cancellati vengono sostituiti da 0x00. CLOB e NCLOB i tipi di dati vengono sostituiti da spazi.

Per scrivere in LOB, è necessario aver recuperato LOB utilizzando la clausola FOR UPDATE nell'istruzione SQL SELECT ed è necessario avviare una transazione locale.

Nota

In questa versione, un'operazione di scrittura in una sola lettura LOB potrebbe avere esito positivo, ma non aggiorna nel LOB server. In questo caso, tuttavia, la copia locale di LOB viene aggiornata. Pertanto, le operazioni di lettura successive sull'oggetto OracleLob potrebbero restituire i risultati dell'operazione di scrittura.

Si applica a