ADOMDDataReader создает исключение «Parser: диалект инструкции не может быть разрешен из-за неоднозначности». - PullRequest
0 голосов
/ 11 сентября 2018

Создана база данных службы анализа SQL Server 2016 с именем «SharePointTimeSlab» с помощью проекта разработки многомерного куба Visual Studio.Хотя я специально не создал куб в проекте.

Я создал структуру интеллектуального анализа данных с алгоритмом временного ряда с вводом ключевого времени, вводом временного интервала и столбцом предсказуемого количества посещений.Результирующая база данных сервера анализа выглядит следующим образом в Sql Server Management Studio: Analysis Server Database

Теперь вот запрос DMX и результаты показаны здесь.DMX Query and results in SSMS

Проблема в том, что я создал Console C # Project, добавил справочник Microsoft.AnalysisServcies.AdoMdClient и дал следующий код:

static void Main(string[] args)
    {
        const string connectionString = "Data Source=devesql;Catalog=SharePointTimeSlab;Integrated Security=SSPI";

        using (var connection = new AdomdConnection(connectionString))
        {
            connection.Open();

            using (var cmd = new AdomdCommand("SELECT FLATTENED [Time Slab], PredictTimeSeries([Hit Count], 5) ON COLUMNS FROM [SPTS]", connection))
            {
                using (var reader = cmd.ExecuteReader())
                {
                    while(reader.Read())
                    {
                        var timeSlab = (string)reader[0];
                        var monthKey = (string)reader[1];
                        var hitCount = (int)reader[2];
                    }
                }
            }
        }
    }

Проблема в том, что reader = cmd.Код ExecuteReader создает исключение.Вот StackTrace исключение:

Microsoft.AnalysisServices.AdomdClient.AdomdErrorResponseException
  HResult=0x80131500
  Message=Parser: The statement dialect could not be resolved due to 
  ambiguity.
  Source=Microsoft SQL Server 2016 Analysis Services
  StackTrace:
   at 

Microsoft.AnalysisServices.AdomdClient.AdomdConnection.XmlaClientProvider.Microsoft.AnalysisServices.AdomdClient.IExecuteProvider.ExecuteTabular (поведение CommandBehavior, ICommandContentProvider ContentProvider, AdomdPropertyCollection commandProperties, параметры IDataParameterCollection) в Microsoft.AnalysisServices.AdomdClient.AdomdCommand.ExecuteReader (поведение CommandBehavior) в Microsoft.AnalysisServices.AdomdClient.AdomdCommand.ExecuteReader () в HelloDMXQuery.Program.Main (String [] args) в C: \ Users \ deblanti. C: \ Users \ debkanti.Mining \ HelloDMXQuery \ HelloDMXQuery \ Program.cs: строка 22 * ​​1015 *

Что я сделал не так?

...