Udostępnij za pośrednictwem


OracleLob.Erase Metoda

Definicja

Usuwa dane z tego OracleLobelementu .

Przeciążenia

Erase()

Usuwa wszystkie dane z tego elementu OracleLob.

Erase(Int64, Int64)

Usuwa określoną ilość danych z tego OracleLobobiektu .

Erase()

Usuwa wszystkie dane z tego elementu OracleLob.

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

Zwraca

Liczba wymazanych bajtów.

Wyjątki

Operacja nie znajduje się w transakcji, OracleLob obiekt ma wartość null lub połączenie jest zamknięte.

Obiekt został zamknięty lub usunięty.

Wystąpił błąd Oracle.

Uwagi

Erase nie obcina danych. LOB Długość pozostaje taka sama dla BLOB typu danych, a wymazane dane są zastępowane przez 0x00. CLOB typy danych i NCLOB są zastępowane spacjami.

Aby zapisać w pliku LOB, musisz pobrać LOB klauzulę USING FOR UPDATE w instrukcji SQL SELECT i musisz mieć uruchomioną transakcję lokalną.

Uwaga

W tej wersji operacja zapisu tylko LOB do odczytu może zakończyć się powodzeniem, ale nie aktualizuje na LOB serwerze. W takim przypadku jednak lokalna kopia obiektu LOB jest aktualizowana. W związku z tym późniejsze operacje odczytu obiektu OracleLob mogą zwracać wyniki operacji zapisu.

Dotyczy

Erase(Int64, Int64)

Usuwa określoną ilość danych z tego OracleLobobiektu .

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

Parametry

offset
Int64

Przesunięcie, z którego ma być wymazane. W przypadku CLOB typów danych i NCLOB musi to być liczba parzysta.

amount
Int64

Ilość danych w bajtach do wymazywania. W przypadku CLOB typów danych i NCLOB musi to być liczba parzysta.

Zwraca

Liczba wymazanych bajtów.

Wyjątki

Operacja nie znajduje się w transakcji, OracleLob obiekt ma wartość null lub połączenie jest zamknięte.

Obiekt został zamknięty lub usunięty.

Wystąpił błąd Oracle.

Uwagi

Suma wartości w parametrach offset i amount może być większa niż rozmiar elementu OracleLob. W związku z tym określenie wartości większej niż zwrócona przez Length właściwość powiedzie się, ale Erase tylko wymazuje na końcu OracleLobelementu . (Podobnie, jeśli wartość ujemna zostanie przekazana do offset, Erase powiedzie się, ale tylko wymazuje się od początku OracleLob.) To zachowanie różni się od Read metod i Write i i oferuje przewagę możliwości wymazywania wszystkich danych z wartości określonej przez offset bez dodatkowego przejazdu do serwera w celu zweryfikowania rzeczywistego rozmiaru.

Erase nie obcina danych. LOB Długość pozostaje taka sama dla BLOB typu danych, a wymazane dane są zastępowane przez 0x00. CLOB typy danych i NCLOB są zastępowane spacjami.

Aby zapisać w pliku LOB, musisz pobrać LOB klauzulę USING FOR UPDATE w instrukcji SQL SELECT i musisz mieć uruchomioną transakcję lokalną.

Uwaga

W tej wersji operacja zapisu tylko LOB do odczytu może zakończyć się powodzeniem, ale nie aktualizuje na LOB serwerze. W takim przypadku jednak lokalna kopia obiektu LOB jest aktualizowana. W związku z tym późniejsze operacje odczytu obiektu OracleLob mogą zwracać wyniki operacji zapisu.

Dotyczy