OracleLob.Erase Metoda
Definicja
Ważne
Niektóre informacje odnoszą się do produktu w wersji wstępnej, który może zostać znacząco zmodyfikowany przed wydaniem. Firma Microsoft nie udziela żadnych gwarancji, jawnych lub domniemanych, w odniesieniu do informacji podanych w tym miejscu.
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.