2016-08-25 86 views
2

我用下面的代码来执行在C#中的查询:查询OLAP多维数据集通过ASHX服务

 // 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分析器分析:本CurrentCatalog XML /没有被指定的属性。”}

,我能找到,这是relavent到这一点的唯一文献是,查询不被解析导致模拟没有设置,但我在连接字符串中指定。

另一篇我不认为是相关的文章,说在Excel上启用BAM,但我没有Excel中的这个选项,我也没有看到这对Web服务会有什么影响。

请帮忙!

回答

3

下面的例子包括在连接字符串中目录参数:

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); 
+0

谢谢!我对连接字符串进行了一些混淆处理,但我认为该数据源中的数据将被假定为“\”。 – Stunna

相关问题