I'm not sure if this is the right place for this question. I originally asked this on StackOverflow, as I thought you guys might be monitoring the "devexpress" and "devextreme" tags, but the question hasn't received many views, so here it is - I hope you can help:
I'm upgrading a project from an older version of DevExpress to the latest version of DevExtreme and having an issue with the pivot grid's OLAP connection. In the old version, we could bind to a connection string as follows:
@Html.DevExpress().PivotGrid(pivotSettings).BindToOLAP("provider=MSOLAP;data source=.;initial catalog=Dashboard AS;cube name=Dashboard Cube").GetHtml()
In the new one, there is no option for a connection string and I am forced to provide a URL for msmdpump.dll.
I followed some of instructions here: Configure HTTP Access to Analysis Services on IIS 8.0
However, that is for IIS and not IIS Express, so I basically just copied the files to /wwwroot/OLAP/ in my new .NET Core application.
My pivot grid has the following definition:
@(Html.DevExtreme().PivotGrid()
.ID("pivotGrid")
.Width("100%")
.AllowSortingBySummary(true)
.AllowFiltering(true)
.ShowBorders(true)
.ShowColumnGrandTotals(true)
.ShowRowGrandTotals(true)
.ShowRowTotals(true)
.ShowColumnTotals(true)
.FieldChooser(c => c.Enabled(true))
.DataSource(d => d.RetrieveFields(true)
.Store(s => s.Xmla()
.Url("/OLAP/msmdpump.dll")
.Catalog("Dashboard AS")
.Cube("Dashboard Cube")
)
)
)
and the msmdpump.ini is as follows:
<ConfigurationSettings>
<ServerName>localhost</ServerName>
<SessionTimeout>3600</SessionTimeout>
<ConnectionPoolSize>100</ConnectionPoolSize>
</ConfigurationSettings>
The problem is I keep getting a 404 in the browser console even though the URL is correct:
http://localhost:4116/OLAP/msmdpump.dll
I can't find any instructions for getting msmdpump.dll to work with IIS Express.
I'm thinking maybe IIS Express prevents the browser from accessing DLLs directly? I'm not certain... but it did give me a 404 on the .ini file as well when I tested that. If this is the problem, how do I solve it?
Is it possible for you to make this simpler by allowing an alternative to the Url parameter, so that we don't need to use msmdpump.dll? For example:
.Store(s => s.Xmla()
.FromConnectionString("provider=MSOLAP;data source=.;initial catalog=Dashboard AS;cube name=Dashboard Cube")
)
or even have a Server parameter so you can build a connection string that way:
.Store(s => s.Xmla()
.Server("localhost")
.Catalog("Dashboard AS")
.Cube("Dashboard Cube")
)