Ready to get started?

Download a free trial of the SQL Analysis Services Driver to get started:

 Download Now

Learn more:

SQL Server Analysis Services Icon SQL Analysis Services JDBC Driver

Rapidly create and deploy powerful Java applications that integrate with SQL Analysis Services.

Feed SQL Analysis Services Data into FineReport



How to set SQL Analysis Services data as a JDBC data source in FineReport.

The CData JDBC Driver for SQL Analysis Services fully implements the JDBC standard and can provide SQL Analysis Services data connectivity to a wide variety of BI, reporting, and ETL tools and custom applications. In this article, we explain how to set SQL Analysis Services data as JDBC data source in FineReport and view SQL Analysis Services data as a table in the Report Designer.

Set Up a JDBC Data Source of SQL Analysis Services Data

Follow the instruction below to set SQL Analysis Services data as a FineReport database connection.

  1. Copy the cdata.jdbc.ssas.jar file from the lib folder in the CData JDBC Driver for SQL Analysis Services installation directory to the lib folder of the FineReport installation directory. You will need to copy the cdata.jdbc.ssas.lic file as well.
  2. From the Server tab, select Define Data Connection, click to add a new connection, and click JDBC.

Next we will set up the data connection definition in the window.

  1. Database: Others
  2. JDBC Driver: cdata.jdbc.ssas.SSASDriver
  3. URL: A standard JDBC connection string using semicolon-separated connection properties.

    To connect, provide authentication and set the Url property to a valid SQL Server Analysis Services endpoint. You can connect to SQL Server Analysis Services instances hosted over HTTP with XMLA access. See the Microsoft documentation to configure HTTP access to SQL Server Analysis Services.

    To secure connections and authenticate, set the corresponding connection properties, below. The data provider supports the major authentication schemes, including HTTP and Windows, as well as SSL/TLS.

    • HTTP Authentication

      Set AuthScheme to "Basic" or "Digest" and set User and Password. Specify other authentication values in CustomHeaders.

    • Windows (NTLM)

      Set the Windows User and Password and set AuthScheme to "NTLM".

    • Kerberos and Kerberos Delegation

      To authenticate with Kerberos, set AuthScheme to NEGOTIATE. To use Kerberos delegation, set AuthScheme to KERBEROSDELEGATION. If needed, provide the User, Password, and KerberosSPN. By default, the data provider attempts to communicate with the SPN at the specified Url.

    • SSL/TLS:

      By default, the data provider attempts to negotiate SSL/TLS by checking the server's certificate against the system's trusted certificate store. To specify another certificate, see the SSLServerCert property for the available formats.

    You can then access any cube as a relational table: When you connect the data provider retrieves SSAS metadata and dynamically updates the table schemas. Instead of retrieving metadata every connection, you can set the CacheLocation property to automatically cache to a simple file-based store.

    See the Getting Started section of the CData documentation, under Retrieving Analysis Services Data, to execute SQL-92 queries to the cubes.

    Built-in Connection String Designer

    For assistance in constructing the JDBC URL, use the connection string designer built into the SQL Analysis Services JDBC Driver. Either double-click the JAR file or execute the jar file from the command-line.

    java -jar cdata.jdbc.ssas.jar

    Fill in the connection properties and copy the connection string to the clipboard.

    When you configure the JDBC URL, you may also want to set the Max Rows connection property. This will limit the number of rows returned, which is especially helpful for improving performance when designing reports and visualizations.

    A typical JDBC URL is below:

    jdbc:ssas:User=myuseraccount;Password=mypassword;URL=http://localhost/OLAP/msmdpump.dll;
  4. Click Connection pool attributes and set Test before getting connections to No.

Click Test connection to ensure you have configured the connection properly. With the connection to SQL Analysis Services set up, you can use it as FineReport data source.

Select SQL Analysis Services Data in the Report Designer.

  1. Click to add a new template data set and select DB query to open the database query window.
  2. Choose the JDBC connection that you created from the dropdown list.
  3. The SQL Analysis Services entities will appear as tables on the left pane.
  4. Write a SELECT statement for the SQL Analysis Services data tables and columns that you want to load.
  5. Click preview and data is shown as table.

With these simple steps, SQL Analysis Services can be used as a JDBC data source in FineReport.