2016-10-17 140 views
1

我想在MDXMDX权限错误

INSERT INTO MINING STRUCTURE [People1] 
([CustID], [Name], [Gender], [Age], [CarMake],[CarModel]) 
OPENQUERY(Chapter3Data, 
'SELECT [Key], Name, Gender, Age, CarMake, CarModel 
FROM People') 

来执行这个查询我有一个数据库Chapter3Data在我的SQL Server实例people表,但我得到这个错误:

执行查询...
无论是“伊赫桑\伊赫桑·阿克巴尔”用户没有权限访问“Chapter3Data”对象,或对象不存在。
执行完成

回答

0

这是无效的mdx

SELECT [Key], Name, Gender, Age, CarMake, CarModel 
FROM People 

你需要指定哪个轴你想的层次ON - 所以一般ROWSCOLUMNS - 一个例子可能是:

SELECT 
    [Key].[Key].MEMBERS ON ROWS, 
    [Gender].[Gender].MEMBERS ON COLUMS 
FROM People; 

在SSMS中,您应该能够打开与立方体服务器的连接 - 然后您可以打开一个mdx查询并测试你的mdx以确保它是有效的 - 在尝试链接服务器OPENQUERY函数之前,一个好主意。

+0

这实际上是一个有效的DMX查询;该问题应该标记为DMX,而不是MDX。 – SQLServerSteve

0

的问题是,你应该链接到有关分析服务,而不是一个关系数据库,或链接服务器的名称,或者数据源视图(DSV)的实例定义的数据源的名称。在最终得到正确答案之前,我犯了所有这三个错误,之后在雷蒙德李对MSDN上D MX INSERT Openquery Permission Problem这个帖子的回答中找到了答案。对于微软来说,这样做是绝对违反直觉的,因为在其他任何时候使用OPENQUERY的时候你会插入数据库或者链接服务器,但这是有效的。