[英]Connecting OLAP Cube through JQuery.ajax() – XML/A
我已經為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數據配置交叉orgin-domain支持。 我通過提出以下論壇得到了答案,
在這里,我成功地向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不允許使用Content-Type。“
請建議我,
IIS是否還需要其他配置?
注意:此外,我已經提供了對我的端口(連接字符串托管端口)的網絡訪問。
在IIS中托管我的示例后,問題解決了。 當我嘗試從“file:/// C:/Users/prabus/Desktop/Sample/xmlaaccess.html”本地路徑時,我無法訪問msmdpump.dll(它托管在同一台機器上)。 因此,無法從本地文件路徑訪問localhost。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.