我的项目中有多个OLAP数据库,因此可以动态决定目录以执行此MDX查询吗?
SELECT * FROM OpenQuery(OLAP_SERVER, 'WITH MEMBER measures.X AS dimensions.count SELECT Measures.X ON 0 FROM MyCube') as X
我不想为每个OLAP数据库创建单独的链接服务器。 关系数据库和多维数据集数据库都驻留在同一台物理计算机上。
我的链接服务器配置是:
EXEC master.dbo.sp_addlinkedserver
@server = N'OLAP_SERVER'
, @srvproduct=N'OLAP_SERVER', @provider=N'MSOLAP'
, @datasrc=N'localhost'
--, @catalog=N'xxxx' default catalog commented out
GO
EXEC master.dbo.sp_addlinkedsrvlogin
@rmtsrvname = N'OLAP_SERVER'
, @locallogin = NULL
, @useself = N'FALSE'
, @rmtuser=N'xxxx'
, @rmtpassword='xxxx'
GO
或者,是否可以使用OLAP数据库名称(如MDX脚本中的[OLAPDBName]。[MyCube])完全限定多维数据集名称?
请帮助,谢谢。
答案 0 :(得分:1)
如果使用OpenRowset
代替OpenQuery
,则可以动态地将连接参数指定为字符串:
select *
from OpenRowset('MSOLAP',
'Data Source=localhost;Initial Catalog=xxxx;Provider=MSOLAP.4;Integrated Security=SSPI;Format=Tabular;',
'WITH MEMBER measures.X AS dimensions.count
SELECT Measures.X ON 0 FROM MyCube')