SSAS OLAP多维数据集忽略连接字符串

时间:2017-09-07 15:21:14

标签: excel ssas pivot-table olap cube

我的SSAS服务器今天遇到了一个非常有趣的问题。我有两个(几乎)相同的数据立方体。每个名为Desserts和Test的这些多维数据集都有一个角色,并且在该角色中分配了一个用户:

enter image description here

enter image description here

我通过位于同一服务器上的IIS中的相同“msmdpump.dll”文件访问excel中的两个多维数据集。两个多维数据集的连接字符串如下所示:

enter image description here

甜品:

  

Provider = MSOLAP.8; Persist Security Info = True; User   ID = xxxDessertsAdmin;初始目录= xxx_Desserts_GL;数据   源= https://Desserts.xxx.com/olap/msmdpump.dll;MDX   兼容性= 1;安全选项= 2; MDX缺少成员模式=错误;更新   隔离级别= 2

测试:

  

Provider = MSOLAP.8; Persist Security Info = True; User   ID = xxxTestAdmin;初始目录= xxx_Test_GL;数据   源= https://Test.xxx.com/olap/msmdpump.dll;MDX   兼容性= 1;安全选项= 2; MDX缺少成员模式=错误;更新   隔离级别= 2

这些多维数据集都正确构建并包含相同的数据。我可以通过在SSAS中使用多维数据集浏览器来验证这一点。

所以要查看,排除我拥有的不同名称:相同的多维数据集,相同的数据,相同的角色,相同的用户,相同的“msmdpump.dll”,相同的应用程序池,Excel中的相同连接字符串。据我说的几乎相同的立方体。但是其中一个不起作用。

当我尝试在show中访问excel中的“Desserts”多维数据集时,我确实有权访问多维数据集。我可以直接通过向“甜点”多维数据集授予“IUSR”用户帐户权限,设置连接字符串,然后撤消该访问权限(从“甜点角色”中删除“IUSR”)来直接重现此问题:

enter image description here

在我看来,“msmdpump.dll”忽略了通过连接字符串传递的用户名,而是尝试使用“IUSR”帐户访问多维数据集。我不明白为什么会这样。 “msmdpump.dll”的应用程序池未在该用户名下运行。我没有在我的服务器上配置任何在该上下文下运行的东西。

为什么(仅限甜点多维数据集)“msmdpump.dll”忽略连接字符串中的用户名,而是尝试使用“IUSR”帐户访问多维数据集?

1 个答案:

答案 0 :(得分:0)

是的,除了网站以外的所有内容,每个多维数据集都是通过一个单独的网站,两者之间的配置不同。特别是IIS中的“身份验证”配置导致了这个问题:

enter image description here

如果您希望将凭据传递到OLAP多维数据集,则需要将“Annoymous”身份验证设置为“已禁用”。否则,它似乎只是默认为“IUSR”帐户。