Skip to main content
Version: 8.3 Beta 🚧

Database Connections

How are Databases Used in Ignition?​

While connecting to a database is not required for basic status and control functionality, it can dramatically increase the possibilities that the system offers. There are a few places where databases are used in Ignition, such as historical data logging, reporting, storing alarm logs, and as your tags storage.

Historical Data Logging​

Logging data for historical analysis, either through Tags Historian or with the SQL Bridge module, requires a database connection. Databases are great at handling historical data, and by using a standard relational database your data is stored in an open format that can be used in many ways.

Reports, Graphs, and Charts​

The Vision module makes it easy to present data stored in databases in a variety of ways. You can quickly create charts that show performance over time, locate anomalies, detect trends, and more. Furthermore, it's important to remember that it is possible to pull data from any database that Ignition is connected to, even if the data wasn't placed there by Ignition. This means you can tie in data from other sources or areas of your company, such as pulling in inventory and staff information, as well.

Storing Alarm Logs​

Store alarm information historically and examine it later for patterns or trouble spots.

Getting Started with Databases​

The first step in using a database with Ignition is to identify a database server. Many companies already have database servers maintained by their IT departments. If you do not, or wish to set up your own database server for Ignition, the Supported Databases section below offers some advice on choosing a database vendor.

Once you've identified a server, all you need to do is create a connection to that server to get up and running.

" "

Supported Databases in Ignition​

Ignition has been tested with the following databases, and can connect to them directly after installation. You can connect to other databases by installing additional JDBC drivers (the Java database connection specification), which are often provided by database vendors.

Full Support​

Database TypeJDBC DriverTranslatorVersion
IBM DB2IBM DB2
(install required)
IBM DB29.5+
MariaDBMariaDB
(provided by the MariaDB module or custom JDBC driver config)
MYSQLCompatible with all MariaDB and MySQL server versions 5.5.3 and later.
MySQLMySQL
(provided by the MariaDB module or custom JDBC driver config)
MYSQL5.0+ for full support. Ignition can connect to 4.x, but many features, such as tags, are not tested.
Microsoft SQL Server ExpressMicrosoft SQL Server
(provided by the MSSQL module or custom JDBC driver config)
MSSQL2005, 2008, 2012, 2014, 2016, 2017, 2019, 2022 (full and express editions). Ignition can connect to 2000, but has not been fully tested.
OracleOracle
(Install required)
ORACLE10g, 11g, 12c (full and express). The letters stand for "grid" and "cloud"
PostgreSQLPostgreSQL
(provided by the PostgreSQL module or custom JDBC driver config)
POSTGRES8.0+
FirebirdFirebird
(install required)
FIREBIRDAll versions.
SQLiteSQLite
(built-in)
SQLITEA driver for the popular embedded database system. This can be used to connect to an existing SQLite database, or create a new database. Setting the connect URL property to a file that doesn't exist will result in the driver attempting to create the database.

Limited Support​

Connections to other databases are possible as long as the JDBC drivers unique to the desired databases are installed. Due to variances in databases, some features may not work fully. However, careful use of the database translator can allow for full functionality.

Installing and Connecting to a Database​

Once you've identified a server, all you need to do is create a connection to that server to get up and running. See the Installing Databases and Connecting to Databases sections for details about how to install and connect to different databases through Ignition.

If we don't already have a connector for your database type, you can simply add it in yourself.

Database Drivers and Translators​

What Is JDBC?​

JDBC stands for the Java DataBase Connectivity API. It is a standardized way for Java-based applications to interact with a wide range of databases and data sources. A JDBC Driver enables Ignition to connect to, and use data from, a particular database system.

JDBC in Ignition​

Ignition, being a Java-based application, leverages JDBC in order to connect to a variety of data sources. This enables Ignition to offer a standardized set of functionality on a wide range of different systems and databases. This includes not only commonly-used databases such as MySQL, Microsoft SQL Server, and Oracle, but additionally other lesser-known systems as well, provided the manufacturer offers a JDBC driver for the system.

" "

Monitoring Connection Status​

Monitor the state of your database connections from the Status section at the top of the page. The status panels show the current valid and errored connections, along with the throughput statistics for active connections. The Connections section directly below the status panels displays more details for each individual connection.

When a connection is not available, it is re-tested every 10 seconds, and the status is updated.

" "

AttributesDescription
Valid ConnectionsNumber of valid connections.
Errored ConnectionsNumber of errored connections.
Total ThroughputNumber of queries and their statuses.
NameName of the query.
DriverName of the driver.
ConnectionsNumber of database connections out of configured databases.
TranslatorName of the database translator.
ThroughputNumber of queries running per second.
StatusCurrent status of the database connection.