通过ASHX服务查询OLAP立方体

3

我正在使用以下代码来在C#中执行查询:

        // Create Connection String
        AdomdConnection testConnection = new AdomdConnection("Data Source=*****;User ID=******;Provider=MSOLAP.6;Persist Security Info=True;Impersonation Level=Impersonate;Password=******");

        // Test Open
        testConnection.Open();

        // Make Query
        AdomdCommand cmd = new AdomdCommand(@"SELECT { [Measures].[Payment Amount] } ON COLUMNS,
                                             { [Charging Low Orgs].[Charging Division].[Charging Division] } ON ROWS 
                                              FROM [Payments]", testConnection);

        AdomdDataReader dataReader = cmd.ExecuteReader();

        // Close Connection
        testConnection.Close();

在cmd.ExecuteReader()调用中我一直收到这个错误:

{"XML for Analysis parser: The CurrentCatalog XML/A property was not specified."}

我找到的唯一相关文献是,查询无法解析是因为未设置模拟身份验证,但我在连接字符串中指定了它。

另一篇文章,我认为与此无关,建议在Excel上启用BAM,但我在Excel中没有该选项,并且我不明白这如何对Web服务产生影响。

请帮帮我!

1个回答

4
以下示例在连接字符串中包含目录参数:
static void Main(string[] args)
        {
            AdomdConnection conn = new AdomdConnection(
                "Data Source=localhost;Catalog=Adventure Works DW Standard Edition");
            conn.Open(  );

            string commandText = "SELECT {[Measures].[Sales Amount], " +
                "[Measures].[Gross Profit Margin]} ON COLUMNS, " +
                "{[Product].[Product Model Categories].[Category]} ON ROWS " +
                "FROM [Adventure Works] " +
                "WHERE ([Sales Territory Country].[United States])";

            AdomdCommand cmd = new AdomdCommand(commandText, conn);
            AdomdDataReader dr = cmd.ExecuteReader(CommandBehavior.CloseConnection);

谢谢!我对连接字符串进行了一些混淆,但我认为目录将在数据源中使用“\”来假定。 - Stunna

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接