Создание каталога ADOMD

Каталог ADOMD - это объекта класса MetabaseObjectClass.KE_CLASS_ADOMD_CATALOG. Для создания нового каталога инициализируйте объект, содержащий описание создаваемого объекта, задайте указанный класс объекта и прочее необходимое описание:

Var
    //...
    MB: IMetabase;
    CrInfo: IMetabaseObjectCreateInfo;
    //...
Begin
    //...
    MB := MetabaseClass.Active;
    //Информация для создания нового каталога ADOMD
    CrInfo := MB.CreateCreateInfo;
    CrInfo.ClassID := MetabaseObjectClass.KE_CLASS_ADOMD_CATALOG;
    CrInfo.Id := "MAS_TEST";
    CrInfo.Name := "Каталог на базе MSSQL Analysis Services";
    CrInfo.Parent := MB.ItemById("F_ADOMD");

При выполнении метода CreateObject будет создан новый каталог, который сразу можно открыть на редактирование, привести к интерфейсу IAdoMdCatalog и настроить необходимые параметры подключения:

Var
    //...
    MB: IMetabase;
    CrInfo: IMetabaseObjectCreateInfo;
    Catalog: IAdoMdCatalog;
    //...
Begin
    //...
    //Создание каталога ADOMD
    Catalog := MB.CreateObject(CrInfo).Edit As IAdoMdCatalog;
    //Настройка параметров
    Catalog.Driver := "MSOLAP";
    Catalog.Server := "MAS_TEST";
    Catalog.Name := "TEST_CUBE";
    Catalog.Authentication := AuthenticationMode.Password;
    Catalog.UseMetabaseCredentials := False;
    Creds := Catalog.Credentials As IPasswordCredentials;
    Creds.UserName := "User1";
    Creds.Password := "password";
    Catalog.Credentials := Creds;
    //Сохранение каталога ADOMD
    (Catalog As IMetabaseObject).Save;

После сохранения созданного объекта каталог ADOMD будет доступен в репозитории. На данный момент каталог еще пуст так как не выполнялась его синхронизация с сервером, на который он настроен. Для того чтобы в каталоге ADOMD появились объекты необходимо его открыть и вызвать метод Refresh:

Var
    //...
    MB: IMetabase;
    CatalogInst: IAdoMdCatalogInstance;
    //...
Begin
    //...
    MB := MetabaseClass.Active;
    Catalog := MB.ItemById("MAS_TEST").Open As IAdoMdCatalogInstance;
    CatalogInst.Refresh;

При выполнении метода Refresh в каталоге ADOMD будут созданы кубы и справочники ADOMD, являющиеся отображением многомерных источников, хранящихся на сервере.

Кубы ADOMD, как и все кубы платформы, поддерживают интерфейс ICubeModel, а справочники ADOMD, как и справочники, поддерживают интерфейс IDimensionModel.

См. также:

Введение в сборку AdoMd