2015-06-05 34 views
0

我有一個我想訪問的olap cube。我正在嘗試執行mdx查詢。這裏是我的簡單測試程序:Olap cube關鍵字ON附近的錯誤語法

 static void Main(string[] args) 
    { 
     using (OleDbConnection cn = new OleDbConnection()) 
     { 

      cn.ConnectionString = "secret"; 

      cn.Open(); 

      string MDX = "SELECT [Measures].[Amount] "+ " ON ROWS, " + "[Dim Client].[Common Client Name].&[test Name] "+ " ON COLUMNS " + "from [CubeName];"; 

      OleDbCommand command = new OleDbCommand(MDX, cn); 
      System.Data.DataSet ds = new System.Data.DataSet(); 
      OleDbDataAdapter adp = new OleDbDataAdapter(command); 
      adp.Fill(ds); 
      Console.WriteLine(ds.Tables[0].Rows[0][1]); 

     } 
    } 

我不斷收到以下錯誤:Incorrect syntax near the keyword 'ON'.,我不能找出我做錯了。如果我直接從管理工作室執行完全相同的查詢,立方體響應沒有錯誤。

+1

您是否嘗試過在字符串MDX = ....後面添加一個'MessageBox.Show(MDX)'並檢查它是什麼? – SouravA

回答

0

在調試模式下,副本中的字符串引號「」

0

嘗試查詢無串連,如果你使用的是成員標題則沒有必要包括符號可能使用的軸索引號,也:

string MDX = "SELECT [Measures].[Amount] ON 0, [Dim Client].[Common Client Name].[test Name] ON 1 FROM[CubeName];"; 

這個mdxSSMS執行正常嗎?

相關問題