Data Sources

A data source is a resource in the repository that specifies how and where to obtain the data displayed by reports, Ad Hoc views, and OLAP views. Administrators must define data sources before uploading reports that rely on them. Typically, a data source specifies the URI of the database server and the details you need to access it, such as a user name and password.

This section describes functionality that can be restricted by the software license for JasperReports Server. If you don’t see some of the options described in this section, your license may prohibit you from using them. To find out what you're licensed to use, or to upgrade your license, contact Jaspersoft.

JasperReports Server provides data source types for relational databases, most flavors of big data, and for specialized data such as Amazon Web Services and JavaBean data. Virtual data sources allow you to combine several data sources into one.

JasperReports Server can access any relational database that supports the SQL query language through the JDBC (Java DataBase Connectivity) API. In this case, you can configure two types of data sources in the repository:

JDBC data source – Establishes a direct connection to the database server using its JDBC driver. After installation, JasperReports Server includes JDBC drivers to access the most popular databases: MySQL, PostgreSQL, Oracle, SQL Server, and DB2. As of release 5.6.1, the server also includes a JDBC driver that can access Hadoop-Hive. If the driver for your database is not installed, or you want to use alternate drivers, the system admin can upload and manage JDBC drivers through the UI. With JDBC data sources, JasperReports Server configures and manages the connections to the database. By default, the maximum number of simultaneous connections for each data source is 20.
JNDI data source – Relies on the JNDI (Java Naming and Directory Interface) service of your application server to access a database connection. You must first configure your application server to install its JDBC drivers and configure its database connections. The configuration of the application server determines the number of shared connections. Note that the application server connects to the database using JDBC, meaning that JNDI data sources are available for all databases that support JDBC.

Big data stores that are not compatible with JDBC have custom data sources:

Cassandra – This new data source introduced in JasperReports Server 5.6 is different from the community-contributed data source for Cassandra. This data source supports the Cassandra Query Language CQL 3.
Cloudera 5 – This data source can access Apache Hadoop clusters through Cloudera 5 Hive or Impala. It uses the Hive Query Language (HiveQL), which is similar to SQL but distinct. All other Hadoop-Hive data sources should use the JDBC driver described above.
MongoDB – This custom data source for MongoDB supports Jaspersoft's own MongoDB Query Language.

Finally, JasperReports Server also supports some specialized data sources:

Amazon Web Services (AWS) data sources – Accesses data stored in your AWS data store using JasperReports Server, either on-premises or in the cloud.
Virtual data source – Allows you to combine multiple data sources into a single data source and join them within a Domain. You can also wrap a data source for big data to be used in a Domain.
Bean data source – Allows you to access data encapsulated in JavaBeans.
Internal diagnostic data source – A custom data source for the server’s own diagnostic data. The diagnostic information is available only to system admins (superuser by default). For more information, see Using the Diagnostic Data in Reports.

In the case of analysis data, JasperReports Server supports OLAP data sources (such as Mondrian and XML/A connections). For information about analysis data sources, refer to the Jaspersoft OLAP Ultimate Guide.

You can extend JasperReports Server to support any custom data source. Custom data sources consist of Java implementation classes, a message catalog, and a Spring bean definition. For more information about custom data sources, see the JasperReports Server Ultimate Guide.

This chapter contains the following sections:

Attributes in Data Source Definitions
JDBC Data Sources
Managing JDBC Drivers
JNDI Data Sources
AWS Data Sources
Cassandra Data Sources
Hadoop-Hive Data Sources
MongoDB Data Sources
Virtual Data Sources
Big Data Connectors for Virtual Data Sources
Bean Data Sources