简体   繁体   中英

Connecting to SSAS cube from Azure website

We currently have a web application set up as an Azure web site and a SSAS server installed on an Azure virtual machine.

In our web application, we are using the DevExpress ASP.NET Pivot Grid and have setup the grid to use an OLAP connection string with MSOLAP provider in the following format:

provider=MSOLAP.4;data source=VM;user id=VM\USER;password=PASSWORD.;initial catalog=CUBEDB;cube name=CUBENAME

The connection string works in our local development environment but throws the following exception in Azure:

System.InvalidOperationException

The 'MSOLAP.4' provider is not registered on the local machine.

   at System.Data.OleDb.OleDbServicesWrapper.GetDataSource(OleDbConnectionString constr, DataSourceWrapper& datasrcWrapper)
   at System.Data.OleDb.OleDbConnectionInternal..ctor(OleDbConnectionString constr, OleDbConnection connection)
   at System.Data.OleDb.OleDbConnectionFactory.CreateConnection(DbConnectionOptions options, DbConnectionPoolKey poolKey, Object poolGroupProviderInfo, DbConnectionPool pool, DbConnection owningObject)
   at System.Data.ProviderBase.DbConnectionFactory.CreateConnection(DbConnectionOptions options, DbConnectionPoolKey poolKey, Object poolGroupProviderInfo, DbConnectionPool pool, DbConnection owningConnection, DbConnectionOptions userOptions)
   at System.Data.ProviderBase.DbConnectionFactory.CreateNonPooledConnection(DbConnection owningConnection, DbConnectionPoolGroup poolGroup, DbConnectionOptions userOptions)
   at System.Data.ProviderBase.DbConnectionFactory.TryGetConnection(DbConnection owningConnection, TaskCompletionSource`1 retry, DbConnectionOptions userOptions, DbConnectionInternal& connection)
   at System.Data.ProviderBase.DbConnectionClosed.TryOpenConnection(DbConnection outerConnection, DbConnectionFactory connectionFactory, TaskCompletionSource`1 retry, DbConnectionOptions userOptions)
   at System.Data.ProviderBase.DbConnectionInternal.OpenConnection(DbConnection outerConnection, DbConnectionFactory connectionFactory)
   at System.Data.OleDb.OleDbConnection.Open()
   at DevExpress.XtraPivotGrid.Data.OleConnection.DevExpress.XtraPivotGrid.Data.IOLAPConnection.Open()
   at DevExpress.PivotGrid.OLAP.OLAPMetadata.OpenConnection(IOLAPConnection connection)
   at DevExpress.PivotGrid.OLAP.OLAPMetadata.ConnectCore()

After searching for a hour now, we are unable find any information to resolve this issue.

Can anyone confirm whether it is possible to connect to SSAS cube directly from Azure web sites or provide an workaround?

looks like the OLAP provider is not installed on Azure Websites. try using Web Role or VM since that would allow you to install the driver or try to configure XMLA HTTP access instead

JuneT's suggestion to try configuring XMLA HTTP access works perfectly for our scenario.

Some additional details on we go about solving this problem.

  1. Configured XMLA access based on these instructions: http://technet.microsoft.com/en-us/library/gg492140.aspx
  2. Set OLAPDataProvider property on the DevExpress PivotGrid to Xmla . If you don't do this, the grid will still try to use the MSOLAP provider.

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM