## What is in a catalog file?

A catalog file stores all of the object definitions that you have created while developing the reports that are also stored in the catalog. This includes data source definitions, component customizations, style definitions, and more. The following illustration summarizes the content of a catalog file:

A database connection defines the database information from which the catalog retrieves its raw data. For example, it specifies the driver such as JDBC driver (for JDBC), or the data source name (for JDBC-ODBC bridge), and the user ID and the password for connecting to the raw data. In this way, a connection is the gateway to the raw database.

Tables/views, stored procedures, imported queries (SQL files) and queries are all based on the JDBC connection. Queries are built using the interactive query designer and are based on the tables/views from the database. Only after you have added the tables/views to the catalog, can you build queries.

Stored procedures are defined in the database. They function like queries, and can be used as data sources for reports.

Imported queries, that are SQL statements in an external file, can be added to the catalog and also function as queries.

Functionally, imported queries (SQL files), stored procedures and queries are all the same. However, queries depend on the tables/views added, while stored procedures and imported queries (SQL files) only need to connect with your database (you do not necessarily have to add the database tables).

User data sources (UDS) and hierarchical data sources (HDS) are also like queries, but users write the code for fetching the records. They are independent from the JDBC connection.

Business cubes are a semantic layer - a view of the data source that you create for a business analyst to use to create ad hoc reports. Business cubes are based on tables of a data source, and report cubes are built from specific queries. This ad hoc reporting feature is supported by the JReport Live feature of JReport.

Parameters are used to control the report content at run time. They are most often used for entering data selection criteria.

Formulas and summaries are objects that are computed at runtime.

Containers, styles, special fields, and drawing objects can each be customized by setting a wide range of object properties.