Connect to External Analytics Databases

To use an external Analytics database, confirm that we support your database format. The Analytics database needs three connections for its JReport internal databases. These databases are called 'system', 'realm' and 'profiling', and in the persistence properties file you'll find them as 'sys', 'realm' and 'prof' respectively.

Create three new databases and a database user for Acrolinx, and configure the persistence properties file in your Acrolinx Core Platform installation. You can also use database backups to migrate any existing data to the new database format.

Supported Database Formats

For an up-to-date list of supported database formats, see the "Database" tab of the Acrolinx Compatibility Guide.

As of Core Platform 5.5 we no longer ship the DB2 driver.

To prepare the three external Analytics databases for Acrolinx, follow these steps:

  1. Create three new empty databases on your database server with names of your choice, for example, analytics-realm, analytics-sys and analytics-prof.
    • We recommend selecting UTF-8 encoding for the database as this encoding type guarantees the ability to store terms in any language.
    • If you use a Microsoft SQL Server database, you must select a case-sensitive collation such as "SQL_Latin1_General_CP1_CS_AS" for the database. The default case-insensitive collation can cause problems with Acrolinx.
    • If you use a MySQL database, you must select "latin1_general_ci" collation for the database.
    • If you use a DB2 database, you must have a page size of at least 8k.
  2. Configure a username and password that has full write permissions on your new databases.
    • If you use an Oracle database to store analytics, reporting and terminology data, ensure that the username for the Analytics database is different to the username for the reporting and terminology databases. In Oracle databases, usernames are associated with a specific database schema.

Editing the Database Configuration Properties

You can configure the connections to the three external Analytics databases by creating an overlay of the installed persistence properties file. You update the persistence properties overlay with the connection details for your databases and restart Acrolinx.

Optional: If you don't want to create three separate external databases for analytics, you can create just one. You still need to configure all three JReport connections, and point the jdbcUrl to the same database in all three connections.

To configure Acrolinx to connect to your external Analytics database, follow these steps:

  1. Stop the core server.
  2. Open your overlay of the following file: persistence.properties

    If you haven't yet created an overlay of this file, create a new version of the file at the following location:

    %ACROLINX_CONFIGURATION_ROOT%\server\bin\

    Don't edit the installed version of the file. Instead, always edit your overlay copy in the configuration directory.

  3. Each of the three JReport internal databases connections needs the following properties:

    jreport.<JREPORT_DATABASE>.dbType=<DATABASE_TYPE_SHORTNAME>
    
    jreport.<JREPORT_DATABASE>.jdbcUser=<DATABASE_USERNAME>
    
    jreport.<JREPORT_DATABASE>.jdbcPassword=<DATABASE_PASSWORD>
    
    jreport.<JREPORT_DATABASE>.jdbcUrl=<DATABASE_URL>?<EXTRA_PARAMETERS>

    Replace the placeholder values with the connection details for your database:

    • Replace the placeholder <JREPORT_DATABASE> with sys realm prof .
    • Replace the placeholder <DATABASE_TYPE_SHORTNAME> with one of the following values:

      ORACLE MSSQL POSTGRES DB2 MYSQL.

    • Replace the placeholder <DATABASE_USERNAME> with the username that you defined in the procedure 'Preparing a Database'.
    • Replace the placeholder <DATABASE_PASSWORD> with the password that you defined in the procedure 'Preparing a Database'.
    • Replace the placeholder <DATABASE_URL> with the location of your database.

      The syntax of the jdbcUrl parameter can vary depending on the database format. To help you understand the syntax, we've provided sample values for the jdbcUrl parameter in the installed persistence properties file. The jdbcUrl parameter usually requires the IP address, the port, and the name of the database.
    • Replace the placeholder <EXTRA_PARAMETERS> with any required extra parameters. For example, if you're connecting to a database on a MySQL Server, you need to add the parameter ?characterEncoding=latin1

    If you want to connect to a database on a MySQL Server, change your properties to look something like the example properties below. Be sure to adjust the user, password, and jdbcUrl values, which are specific to your environment:

    jreport.sys.dbType=MYSQL
    jreport.sys.jdbcUser=root
    jreport.sys.jdbcPassword=admin
    jreport.sys.jdbcUrl=jdbc:mysql://101.101.101.101:32772/analytics-sys?characterEncoding=latin1
    
    jreport.realm.dbType=MYSQL
    jreport.realm.jdbcUser=root
    jreport.realm.jdbcPassword=admin
    jreport.realm.jdbcUrl=jdbc:mysql://101.101.101.101:32772/analytics-realm?characterEncoding=latin1
    
    jreport.prof.dbType=MYSQL
    jreport.prof.jdbcUser=root
    jreport.prof.jdbcPassword=admin
    jreport.prof.jdbcUrl=jdbc:mysql://101.101.101.101:32772/analytics-prof?characterEncoding=latin1
  4. Save your changes and restart the core server.
  5. Check the core server log file for any errors or warnings.