我有一个已经处理过的多维数据集,可以在BID环境中运行,我可以在SSEM和BID环境中运行我的MDX查询。我创建了一个角色,其中包含正确的帐户/权限,已处理并部署了多维数据集,在SSEM中重新处理等等。现在我正在尝试连接,并且使用ASP.NET 4.0提取数据,但我收到此错误:
MyCube不存在或尚未处理
这是我的代码:
String connectionString = "Provider=MSOLAP.3; Data Source=myhost;Initial Catalog=myCatalog; User ID=myaccount; Password=myamazinglysecurepassword;";
String mdxSQL = " my MDX, which was taken directly from BID env. cube in design mode";
AdomdConnection connection = new AdomdConnection(connectionString);
connection.Open();
AdomdCommand cmd = new AdomdCommand(mdxSQL, connection);
CellSet cst = cmd.ExecuteCellSet();
...etc
注意:我们不使用MSMDPUMP.dll进行连接,我们希望避免这种情况。
任何想法?
答案 0 :(得分:0)
要考虑几件事。用户如何对您的网络应用进行身份验证?您的应用程序池在哪个帐户上运行?
如果您在ASP.NET中使用集成Windows,则可能会遇到双跳问题,如果IIS和SSAS位于不同的服务器上。这将要求您在应用程序和OLAP服务之间设置Kerberos和受信任的委派SPN。
参见(SSAS和IIS):
http://msdn.microsoft.com/en-us/library/dn194199.aspx
http://technet.microsoft.com/en-us/library/dd632778.aspx
否则,您的应用程序池运行的帐户可能存在问题。我在您的连接字符串中看到您有一个特定的帐户 - 所以我假设您尝试连接为一个帐户而不是将用户凭据委派给OLAP。运行w3wp.exe的进程是将尝试连接到SSAS的标识。如果您的应用程序池未作为域帐户运行,则可能无法向SSAS进行身份验证。