Need a special offer?Find out if your project fits.
+
All documentation
API reference
  • API Reference for older versions
  • 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

    Parameter/Type Description
    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
    String
    optional The name of the user account at the server. This parameter is necessary to complete the authentication process.
    password
    String
    optional 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