1.8.24. TbtkScriptOraLobLocator

class TbtkScriptOraLobLocator

Вспомогательный класс для прямой работы с Lob-локатор-ами на сервере. Класс хранит идентификатор локатора на сервере(Handle предоставляемый OCI) и предоставляет набор методов для работы с ним. Для работы с экземплярами данного класса при передаче в запросы следует использовать тип ftOraLobLocator.

Главной отличительной особенностью работы с блобами через локатор является тот факт что чтение/запись осуществляются без кеширования - потоково. Это снимает ограничение на количество данных со стороны клиента. Прочие же способы работы с блобами ограничены объёмом доступной оперативной памяти.

Методы загрузки/сохранения работающие с файлом (LoadFromFile, SaveToFile) ограничений по объёму не имеют. Методы же WriteData и ReadData ограничены доступным объёмом оперативной памяти, т.к. работают с Variant-массивом хранящимся в памяти приложения; реализованы для совместимости с ранее имевшимися методами работы с блобами, такими как LoadFromFileToBlob.

Note

  • Время жизни экземпляра lob-локатора управляется счётчиком ссылок.
  • Экземпляр lob-локатора всегда привязан к одной конкретной сессии в рамках которой он был создан, если сессия закрыта, то возможность обратиться к клиентскому экземпляру остаётся валидной, но попытки оперировать данными на сервере будут возвращать cоответствующую ошибку. Если не известно состояние серверного объекта - следует проверять свойство TbtkScriptOraLobLocator.IsInit.

New in version BtkRuntime: 5.4.0.3582 ms 1

Length: Integer

Количество байт в данном курсоре.

Аттрибут только для чтения

Return type:Integer
IsTemporary: Boolean

Проверить является ли данный курсор временным.

Аттрибут только для чтения

Return type:Boolean
IsInit: Boolean

Проверить инициализирован ли данный локатор, имеется ли связь с объектом на сервере. Свойство корректно отработает как в случае когда объект не связан с данными на сервере (не инициализирован), так и если сессия была закрыта - вернёт False; в противном случае, если связь имеется и, соответственно, доступна работа с данными локатора (на сервере) - возвращается True.

Аттрибут только для чтения

Return type:Boolean
IsClob: Boolean

Проверить является ли данный курсор клобом.

Аттрибут только для чтения

Return type:Boolean
IsBlob: Boolean

Проверить является ли данный курсор блобом.

Аттрибут только для чтения

Return type:Boolean
WriteData(Data: Array)

Загрузить данные на сервер - в качестве данных используется Variant-массив байт в памяти скриптера.

Parameters:Data (Array) – Массив данных полученный одним из Blob-методов или методом ReadData.
ReadData(): Array

Скачать данные с сервера - будут размещены в памяти скриптера в виде Variant-массива байт

Return type:Array
LoadFromFile(FileName: String)

Загрузить содержимое файла на сервер

Parameters:FileName (String) – Имя файла
SaveToFile(FileName: String)

Скачать данные с сервера - сохранить в указанный файл.

Parameters:FileName (String) – Имя файла для сохранения данных.
CreateTemporary()

Создать связь объекта с сервером - требуется для отправки данных на сервер.