DeferredLoading: Boolean;
DeferredLoading: boolean;
Свойство DeferredLoading определяет, будет ли производиться отложенная загрузка описаний объектов при работе в репозитории.
Свойство доступно для использования, если на сервере, где расположен репозиторий, используется одна из следующих СУБД:
Oracle;
Microsoft SQL;
Ole DB;
Teradata;
PostgreSQL;
SQLite.
Для получения поддерживаемых версий СУБД обратитесь к разделу «Поддерживаемые СУБД».
Если свойству установлено значение True, то при подключении будут загружены описания только тех объектов, которые необходимы для работы в репозитории.
Загрузка дескрипторов будет происходить в следующем порядке:
Если не задан последний выбранный объект, то загружаются только первые два уровня дерева объектов репозитория. Если для объектов первого уровня не найдены дочерние объекты, то знак «+», убирается напротив папки или объектов-контейнеров;
Если задан последний выбранный объект, то грузить дескрипторы данного объекта со всеми родительскими объектами и объекты того же уровня для каждого родителя вплоть до корня.
Загруженные описания будут кэшированы в памяти компьютера.
Примечание. Свойство не влияет на объекты, для которых установлен признак IMetabaseObjectDescritpor.IsDeferred.
Для выполнения примера в менеджере репозиториев понадобится схема с идентификатором «PPRepository». Должен быть выбран поддерживающий отложенную загрузку дескрипторов тип сервера репозитория.
Добавьте ссылку на системную сборку Metabase.
Sub UserProc;
Var
MAN: IMetabaseManager;
Defs: IMetabaseDefinitions;
Def: IMetabaseDefinition;
Begin
MAN := MetabaseManagerFactory.Active;
Defs := MAN.Definitions;
Def := Defs.FindById("PPRepository");
If (Def.DriverId <> "ORCL") And (Def.DriverId <> "MSSQL") Then
Def.DeferredLoading := True;
Def.Save;
End If;
End Sub UserProc;
Public Sub UserProc(Params: StartParams);
Var
MbMan: IMetabaseManager;
MAN: MetabaseManagerFactory = New MetabaseManagerFactoryClass();
Defs: IMetabaseDefinitions;
Def: IMetabaseDefinition;
Begin
MbMan := MAN.Active;
Defs := MbMan.Definitions;
Def := Defs.FindById("PPRepository");
If (Def.DriverId <> "ORCL") And (Def.DriverId <> "MSSQL") Then
Def.DeferredLoading := True;
Def.Save();
End If;
End Sub;
После выполнения примера для указанного описания объектов репозитория будет установлена отметка, включающая отложенную загрузку дескрипторов репозитория.
См. также: