2016-09-20 4 views
0

После определения связанного сервера на SQL Server 2016 (13.0.1711.0):Linked Server Analysis Services для

EXEC master.dbo.sp_addlinkedserver @server = N'CUBELINKEDSERVER', @srvproduct=N'MSOLAP', @provider=N'MSOLAP', @datasrc=N'POWER', @catalog=N'Model' 
/* For security reasons the linked server remote logins password is changed with ######## */ 
EXEC master.dbo.sp_addlinkedsrvlogin @rmtsrvname=N'CUBELINKEDSERVER',@useself=N'False',@locallogin=NULL,@rmtuser=NULL,@rmtpassword=NULL 

и используя запрос от http://www.purplefrogsystems.com/blog/2010/09/olap-cube-documentation-in-ssrs-part-1/:

SELECT * 
FROM OPENQUERY(CubeLinkedServer, 
    'SELECT * 
    FROM $SYSTEM.MDSCHEMA_MEASUREGROUP_DIMENSIONS') mgd 
INNER JOIN OPENQUERY(CubeLinkedServer, 
    'SELECT * 
    FROM $SYSTEM.MDSCHEMA_MEASUREGROUPS') mg 
ON mgd.XXX = mg.XXX 

Я получаю сообщение об ошибке:

Msg 7354, Level 16, State 1, Line 1 The OLE DB provider "MSOLAP" for linked server "CubeLinkedServer" supplied invalid metadata for column "DIMENSION_PATH". The data type is not supported.

Как это можно решить?

ответ

0

Это thread говорит, что этот тип не поддерживается ..

The problem is that the DIMENSION_PATH column is a complex type. If you run the DMV query in SSMS you will see that the column comes back with a + sign. If you don't particularly need that column you can just specify an explicit column list that does not include it.

SELECT a.* 
FROM OPENQUERY('MSOLAP',' 
select 
[CATALOG_NAME] 
,[SCHEMA_NAME] 
,[CUBE_NAME] 
,[MEASUREGROUP_NAME] 
,[MEASUREGROUP_CARDINALITY] 
,[DIMENSION_UNIQUE_NAME] 
,[DIMENSION_CARDINALITY] 
,[DIMENSION_IS_VISIBLE] 
,[DIMENSION_IS_FACT_DIMENSION] 
--,DIMENSION_PATH 
,[DIMENSION_GRANULARITY] 
from 
$system.MDSCHEMA_MEASUREGROUP_DIMENSIONS') a 
+0

Могу ли я бросить DIMENSION_PATH в другой формат? – Testtest11

+0

Я не думаю, что это поддерживается, приложенная нить говорит, чтобы использовать CLR – TheGameiswar

Смежные вопросы