0

我正在尝试使用 MSSQL 分析服务器。我正在尝试执行 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();
    }

这是数据库查询的结果

4

1 回答 1

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]);

                        }
                    }
                }
            }
        }

        Console.ReadKey();

编辑:删除了不必要的关闭电话。

于 2018-08-25T18:18:36.597 回答