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 могут возвращать результаты операции записи.