Результат запроса ADOMD.Net неверный
Я пытаюсь использовать MSSQL Analysis Server. Я пытаюсь выполнить DMX-запрос, однако результат чтения не соответствует Студиям управления SQL Server, так как читатель выбрасывает индекс из-за ошибки.
Я импортировал "Microsoft.AnalysisServices.AdomdClient.retail.amd64" V15.3.1 с NuGet, и я использую SQL Server 2017 Вот код тестовых приложений
static void Main(string[] args)
{
AdomdConnection connection = new AdomdConnection("Data Source=localhost;Catalog=MultidimensionalProject2;");
connection.Open();
AdomdCommand command = new AdomdCommand("SELECT PredictAssociation([Association].[v Machine Purchase Stat], 5) From [Association]", connection);
AdomdDataReader reader = command.ExecuteReader();
List<object> asd = new List<object>();
while (reader.Read())
{
Console.WriteLine(reader[1]); //Index out of bounds error
}
reader.Close();
Console.ReadKey();
}
Вот база данных и результат запроса
1 ответ
Я решил, что у читателя был еще один читатель, который представлял собой второй шаг от дерева. Вот рабочий код.
using (AdomdConnection connection = new AdomdConnection("Data source=localhost;initial catalog=MultidimensionalProject2;"))
{
connection.Open();
using (AdomdCommand command = new AdomdCommand("SELECT PredictAssociation([Association].[v Machine Purchase Stat], 5) From [Association]", connection))
{
using (AdomdDataReader reader = command.ExecuteReader())
{
List<object> asd = new List<object>();
while (reader.Read())
{
var r2 = reader.GetData(0);
while (r2.Read())
{
Console.WriteLine(r2[1]);
}
}
reader.Close();
}
}
connection.Close();
}
Console.ReadKey();