我有一个olap立方体,我想访问。我试图执行mdx查询。下面是我的简单测试程序:
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'.
和我不知道我做错了什么。如果我直接从管理工作室执行完全相同的查询,多维数据集响应没有错误。
在调试模式下,将查询复制到字符串引号"
尝试不连接,也许使用轴索引号,如果你正在使用成员标题,那么不需要包括&:
string MDX = "SELECT [Measures].[Amount] ON 0, [Dim Client].[Common Client Name].[test Name] ON 1 FROM[CubeName];";
这个mdx
在SSMS
中执行正常吗?