Поделиться через


OracleLob.Erase Метод

Определение

Удаляет данные из этого OracleLob.

Перегрузки

Erase()

Удаляет все данные из этого OracleLob.

Erase(Int64, Int64)

Удаляет заданный объем данных из этого OracleLob.

Erase()

Удаляет все данные из этого OracleLob.

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

Возвращаемое значение

Количество удаленных байтов.

Исключения

Операция выполняется не в рамках транзакции, объект OracleLob является пустым, или же закрыто подключение.

Объект был закрыт или уничтожен.

Произошла ошибка Oracle.

Комментарии

Erase не усечены данные. Длина LOB для типа данных остается прежней BLOB , а удаленные данные заменяются 0x00. CLOB Типы данных и NCLOB заменяются пробелами.

Чтобы выполнить запись в LOB, необходимо получить LOB с помощью предложения FOR UPDATE в инструкции SQL SELECT и запустить локальную транзакцию.

Примечание

В этом выпуске операция записи в доступную только LOB для чтения операцию может завершиться успешно, но не обновляет LOB на сервере. Однако в этом случае локальная копия LOB обновляется. Поэтому последующие операции чтения объекта OracleLob могут возвращать результаты операции записи.

Применяется к

Erase(Int64, Int64)

Удаляет заданный объем данных из этого 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

Параметры

offset
Int64

Смещение, из которого выполняется удаление. Для типов данных CLOB и NCLOB это число должно быть четным.

amount
Int64

Количество данных, которое необходимо удалить, в байтах. Для типов данных CLOB и NCLOB это число должно быть четным.

Возвращаемое значение

Количество удаленных байтов.

Исключения

Операция выполняется не в рамках транзакции, объект OracleLob является пустым, или же закрыто подключение.

Объект был закрыт или уничтожен.

Произошла ошибка Oracle.

Комментарии

Сумма значений в параметрах offset и amount может быть больше, чем размер OracleLob. Таким образом, указание значения, превышающего значение, возвращаемое свойством Length , завершается успешно; однако Erase стирается только в конце OracleLob. (Аналогичным образом, если отрицательное значение передается offsetв , Erase будет выполнено успешно, но стирается только начиная с начала OracleLob.) Это поведение отличается от Read поведения методов и Write и обеспечивает возможность удаления всех данных из значения, указанного в параметре offset , без выполнения дополнительной обходной передачи на сервер для проверки фактического размера.

Erase не усечены данные. Длина LOB для типа данных остается прежней BLOB , а удаленные данные заменяются 0x00. CLOB Типы данных и NCLOB заменяются пробелами.

Чтобы выполнить запись в LOB, необходимо получить LOB с помощью предложения FOR UPDATE в инструкции SQL SELECT и запустить локальную транзакцию.

Примечание

В этом выпуске операция записи в доступную только LOB для чтения операцию может завершиться успешно, но не обновляет LOB на сервере. Однако в этом случае локальная копия LOB обновляется. Поэтому последующие операции чтения объекта OracleLob могут возвращать результаты операции записи.

Применяется к