Процесс табличной модели SSAS из C # - PullRequest
0 голосов
/ 03 сентября 2018

Итак, я установил AMO и создал следующее консольное приложение:

using System;
using Microsoft.AnalysisServices;
using Microsoft.AnalysisServices.Tabular;


namespace procesarCuboSSAST
{


    class Program
    {
        static void Main(string[] args)
        {
            try
            {
                string ConnectionString = "Data source=SERVER\\BI";


                using (Microsoft.AnalysisServices.Tabular.Server server = new Microsoft.AnalysisServices.Tabular.Server())
                {
                    server.Connect(ConnectionString);

                    Microsoft.AnalysisServices.Tabular.Database Db = server.Databases["TestModel"];     //Connect to the DB

                    Model m = Db.Model;


                  m.RequestRefresh(Microsoft.AnalysisServices.Tabular.RefreshType.Full);
                    m.SaveChanges();
                }
                Console.WriteLine("Press Enter to close this console window.");
                Console.ReadLine();



            }
            catch (Exception e)
            {
                Console.Write(e.Message.ToString());
                Console.WriteLine("Press Enter to close this console window.");
                Console.ReadLine();

            }
        }
    }
}

Однако я получаю сообщение об ошибке: "ссылка на объект не установлена ​​на экземпляр объекта"

Я могу правильно перечислить базы данных и модели в экземпляре SSAS с помощью

 foreach (Database db in server.Databases) 
                { 
                    Console.WriteLine("Properties for database {0}:", db.Name); 
...

Мой сервер - SSAS 2014 Enterprise (в табличной форме) (12.0.5000.0)

1 Ответ

0 голосов
/ 17 сентября 2018

Какой уровень совместимости является табличной моделью, которую вы пытаетесь обработать? Класс Model предназначен только для табличных моделей уровня 1200 или выше. Класс Database позволит вам просматривать модели с более низким уровнем совместимости, но не изменять их, поэтому вы можете перечислять базы данных SSAS в экземпляре, но не обрабатывать их. Ссылки ниже содержат дополнительные сведения об этих классах.

Класс модели

База данных класса

...