TbtkScriptOraLobLocator

class TbtkScriptOraLobLocator

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

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

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

Note

  • Время жизни экземпляра lob-локатора управляется счётчиком ссылок.

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

Warning

Не поддерживается в Application Server

Length Integer

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

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

Return type:

Integer

IsTemporary Boolean

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

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

Return type:

Boolean

IsInit Boolean

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

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

Return type:

Boolean

IsClob Boolean

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

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

Return type:

Boolean

IsBlob Boolean

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

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

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()

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