OracleLob.Erase Metoda

Definicja

Usuwa dane z tego elementu OracleLob.

Przeciążenia

Nazwa Opis
Erase()

Usuwa wszystkie dane z tego elementu OracleLob.

Erase(Int64, Int64)

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

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. Długość LOB 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 LOBpliku , musisz pobrać LOB klauzulę FOR UPDATE w instrukcji SQL SELECT i musisz mieć uruchomioną transakcję lokalną.

Uwaga / Notatka

W tej wersji operacja zapisu tylko LOB do odczytu może zakończyć się powodzeniem, ale nie aktualizuje LOB serwera. 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 OracleLobelementu .

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ż w przypadku rozmiaru OracleLobobiektu . W związku z tym określenie wartości większej niż zwracana przez Length właściwość kończy się powodzeniem, ale Erase tylko usuwa wartość na końcu OracleLobobiektu . (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 tych metod i Write i i oferuje zaletę możliwości wymazania wszystkich danych z wartości określonej offset przez bez konieczności dodatkowego zaokrąglania do serwera w celu zweryfikowania rzeczywistego rozmiaru.

Erase nie obcina danych. Długość LOB 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 LOBpliku , musisz pobrać LOB klauzulę FOR UPDATE w instrukcji SQL SELECT i musisz mieć uruchomioną transakcję lokalną.

Uwaga / Notatka

W tej wersji operacja zapisu tylko LOB do odczytu może zakończyć się powodzeniem, ale nie aktualizuje LOB serwera. 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