ICubeCacheSaver.SaveCube

Синтаксис Fore

SaveCube(Cube: IMetabaseObject);

Синтаксис Fore.NET

SaveCube(Cube: Prognoz.Platform.Interop.Metabase.IMetabaseObject);

Параметры

Cube. Куб, кэш которого необходимо сохранить.

Описание

Метод SaveCube выполняет сохранение кэша для заданного варианта отображения куба с параметрами по умолчанию.

Пример Fore

Для выполнения примера понадобится куб с идентификатором «D_SEP», а также база данных с идентификатором «DB». Для куба должна быть установлена возможность кэшировать данные.

Sub UserProc;
Var
    MB: IMetabase;
    MObj: IMetabaseObjectDescriptor;
    CacheSaver: ICubeCacheSaver;
    CrInfo: IMetabaseObjectCreateInfo;
Begin
    MB := MetabaseClass.Active;
    MObj := MB.ItemById("D_SEP");
    CrInfo := MB.CreateCreateInfo;
    CrInfo.ClassId := MetabaseObjectClass.KE_CLASS_CUBE_CACHE_SAVER;
    CrInfo.Parent := MObj;
    CrInfo.Permanent := True;
    CacheSaver := MB.CreateObject(CrInfo).Edit As ICubeCacheSaver;
    CacheSaver.Database := MB.ItemById("DB").Bind As IDatabase;
    (CacheSaver As IMetabaseObject).Save;
    CacheSaver.SaveCube(MObj.Bind);
End Sub UserProc;

После выполнения примера данные куба будут закэшированы с параметрами по умолчанию.

Пример Fore.NET

Для выполнения примера понадобится куб с идентификатором «D_SEP», а также база данных с идентификатором «DB». Для куба должна быть установлена возможность кэшировать данные.

Imports Prognoz.Platform.Interop.Metabase;
Imports Prognoz.Platform.Interop.Cubes;
Imports Prognoz.Platform.Interop.Db;
Imports System;

Public Sub Main(Params: StartParams);
Var
    MB: IMetabase;
    MObj: IMetabaseObjectDescriptor;
    CacheSaver: ICubeCacheSaver;
    CrInfo: IMetabaseObjectCreateInfo;
Begin
    MB := Params.Metabase;
    MObj := MB.ItemById["D_SEP"];
    CrInfo := MB.CreateCreateInfo();
    CrInfo.ClassId := MetabaseObjectClass.KE_CLASS_CUBE_CACHE_SAVER As Int32;
    CrInfo.Parent := MObj;
    CrInfo.Permanent := True;
    CacheSaver := MB.CreateObject(CrInfo).Edit() As ICubeCacheSaver;
    CacheSaver.Database := MB.ItemById["DB"].Bind() As IDatabase;
    (CacheSaver As IMetabaseObject).Save();
    CacheSaver.SaveCube(MObj.Bind());
End Sub;

После выполнения примера данные куба будут закэшированы с параметрами по умолчанию.

См. также:

ICubeCacheSaver