我已经为 SSAS 配置了 HTTP 访问 (msmdpump.dll) 以在线访问 OLAP Cube,如下面的博客中提供的那样。现在,通过提供适当的连接字符串,可以通过远程连接使用 msmdpump.dll 访问多维数据集。
https://msdn.microsoft.com/en-us/library/gg492140.aspx

同时,我尝试通过 JQuery.ajax () 中的 XML/A 概念访问多维数据集,如下所示,

var MDX = " SELECT   {[Date].[Fiscal]  ON COLUMNS ,  {[Measures].[Customer Count]}  ON ROWS  FROM [Adventure Works] ;
$.ajax({
            type: "POST",
            url: "http://localhost:6078/olap/msmdpump.dll",
            data: "<Envelope xmlns=\"http://schemas.xmlsoap.org/soap/envelope/\"> <Header></Header> <Body> <Execute xmlns=\"urn:schemas-microsoft-com:xml-analysis\"> <Command> <Statement> " + MDX +" </Statement> </Command> <Properties> <PropertyList> <Catalog>Adventure Works DW Standard Edition</Catalog> </PropertyList> </Properties> </Execute> </Body> </Envelope>",
            success: function (responce, textStatus, jqXHR) {
                                                            $('body').append(responce);
            },
            contentType: "text/xml",
            dataType: "xml",
        });

但它抛出“XMLHttpRequest 无法加载 http://localhost:6078/olap/msmdpump.dll 。预检响应具有无效的 HTTP 状态代码 500”异常,因为我们没有为 IIS 配置跨域域支持以访问 OLAP 数据。我通过提出以下论坛得到了答案,

https://social.technet.microsoft.com/Forums/forefront/en-US/03e4f14e-3301-40b4-b00b-d81ca7b07ce7/xmlhttprequest-cannot-load-httplocalhostolapmsmdpumpdll-response-for-preflight-has-invalid?forum=sqlanalysisservices&prof=required

在这里,我成功地向 IIS 提供了跨域域,以便对 OLAP 应用程序目录(用于创建对 msmdpump.dll 的访问的节点)进行非身份验证访问,如下面的博客中所述。
http://www.igniteui.com/help/igolapxmladatasource-configuring-iis-for-cross-domain-olap-data#summary

最后我坚持了以下异常,

“XMLHttpRequest 无法加载 http://localhost:6078/olap/msmdpump.dll 。预检响应中的 Access-Control-Allow-Headers 不允许请求 header 字段 Content-Type。”

请给我提意见,

IIS 是否需要任何其他配置?

注意:此外,我已经提供了对我的端口(即连接字符串托管端口)的网络访问。

最佳答案

在 IIS 中托管我的示例后,问题已为我解决。当我尝试从“file:///C:/Users/prabus/Desktop/Sample/xmlaaccess.html”本地路径时,我无法访问 msmdpump.dll(托管在同一台机器上)。因此,无法从本地文件路径访问 localhost。

关于jquery - 通过 JQuery.ajax() 连接 OLAP Cube – XML/A,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/35066327/

10-11 23:31