Get Free Trial
API reference
Table of contents

getXMLADataSources

getXMLADataSources(proxyURL: String, callbackHandler: Function, username: String, password: String)

[starting from version: 1.5]

One of four API calls of OLAP/XMLA connectivity diagnostics.

Obtains a list of all data sources by given URL for XMLA connect (proxyURL). Returns an Array of data sources.

Note that getXMLADataSources has an async equivalent – getXMLADataSourcesAsync.

Parameters

  • proxyUrl – String. The path to proxy URL to Microsoft Analysis Services.
  • callbackHandler – Function. A JS function which will be called when the component obtains a list of all data sources.
  • username optional – String. The name of the user account at the server. This parameter is necessary to complete the authentication process.
  • password optional – String. The password to the user account at the server. This parameter is necessary to complete the authentication process.

Example

OLAP/XMLA connectivity step by step. First, getXMLADataSources() obtains a list of all data sources by given URL (for example: 'http://olap.flexmonster.com/olap/msmdpump.dll') and getXMLAProviderName() returns type. Second, getXMLACatalogs() gets all available catalogs for the first data source from the list of available data sources. Then getXMLACubes() obtains a list of all cubes for the first catalog of the list of available catalogs. Finally, connectTo()uses all the information about data source to connect to it:

var proxyUrl = 'http://olap.flexmonster.com/olap/msmdpump.dll'; 
var dataSourceInfo = '';
var type = '';
var catalog = '';
var cube = '';

function diagnostic() {
 getDataSources();
}

function getDataSources() {
  flexmonster.getXMLADataSources(proxyUrl, onDataSourceLoaded);
}

function onDataSourceLoaded(result) {
  dataSourceInfo = result[0];
  type = flexmonster.getXMLAProviderName(proxyUrl);
  flexmonster.getXMLACatalogs(proxyUrl, dataSourceInfo, onCatalogsLoaded);
}

function onCatalogsLoaded(result) {
  catalog = result[0];
  flexmonster.getXMLACubes(proxyUrl, dataSourceInfo, catalog, onCubesLoaded);
}

function onCubesLoaded(result) {
  cube = result[0];
  flexmonster.connectTo({
  type: type,
  proxyUrl: proxyUrl,
   dataSourceInfo: dataSourceInfo,
   catalog: catalog,
   cube: cube
 });
}

diagnostic();

Try on JSFiddle.

See also

getXMLADataSourcesAsync
getXMLAProviderName
getXMLACatalogs
getXMLACubes