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()¶
Создать связь объекта с сервером - требуется для отправки данных на сервер.