我正在尝试使用MSSQL Analysis Server。我正在尝试执行DMX查询,但是读取器的结果与SQL Server Management Studios不符,因为读取器将索引超出范围错误。
我已使用NuGet导入了“ Microsoft.AnalysisServices.AdomdClient.retail.amd64” V15.3.1,并且正在使用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();
}
的结果
答案 0 :(得分:0)
我已经很好地解决了这个问题,读者中有另一个读者,它代表了树的第二步。 这是工作代码。
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();