Database Support

CloverDX Data Profiler Reporting Console and the profiling engine itself support the following database types:

  • Apache Derby 10

  • MSSQL 2008

  • MySQL 5.*

  • Oracle 11

  • PostgreSQL 8

Note that the database storing the results has to be created with unicode characters support enabled.

The Reporting Console web archive does not contain JDBC driver classes necessary for the Reporting Console to be able connect to these databases, except in the case of Apache Derby. Therefore, if you change the results database connection settings, you should also add appropriate JDBC driver to your web container's classpath. For example, in the case of Apache Tomcat, copy the given JDBC driver *.jar file into Tomcat's lib directory.

Derby

You can use the following configuration properties to store profiling results to your Apache Derby database.

datasource.profiler.jdbcSpecific=DERBY
datasource.profiler.primary.type=JDBC
datasource.profiler.primary.jdbc.driverClassName=org.apache.derby.jdbc.ClientDriver
datasource.profiler.primary.jdbc.url=jdbc:derby://localhost:1527/dataprofiler
datasource.profiler.primary.jdbc.username=
datasource.profiler.primary.jdbc.password=

MSSQL

Microsoft SQL requires configuration of the DB server.

  • Allowing of TCP/IP connection:

  • execute tool SQL Server Configuration Manager

  • go to Client protocols

  • switch on TCP/IP (default port is 1433)

  • execute tool SQL Server Management Studio

  • go to Databases and create DB dataprofiler with case-sensitive collation (with _CS_ pattern in the name of the collation)

  • go to Security/Logins and create user and assign this user as owner of DB dataprofiler

  • go to Security and check SQL server and Windows authentication mode

You can use the following configuration properties to store profiling results to your MSSQL database.

datasource.profiler.jdbcSpecific=MSSQL
datasource.profiler.primary.type=JDBC
datasource.profiler.primary.jdbc.driverClassName=net.sourceforge.jtds.jdbc.Driver
datasource.profiler.primary.jdbc.url=jdbc:jtds:sqlserver://localhost:1433/dataprofiler
datasource.profiler.primary.jdbc.username=
datasource.profiler.primary.jdbc.password=

MySQL

You can use the following configuration properties to store profiling results to your MySQL database.

datasource.profiler.jdbcSpecific=MYSQL
datasource.profiler.primary.type=JDBC
datasource.profiler.primary.jdbc.driverClassName=com.mysql.jdbc.Driver
datasource.profiler.primary.jdbc.url=jdbc:mysql://localhost:3306/dataprofiler?useUnicode=true&characterEncoding=utf8
datasource.profiler.primary.jdbc.username=
datasource.profiler.primary.jdbc.password=

Make sure your database is created with proper charset:

CREATE DATABASE IF NOT EXISTS clover DEFAULT CHARACTER SET 'utf8';

Oracle

You can use the following configuration properties to store profiling results to your Oracle database.

datasource.profiler.jdbcSpecific=ORACLE
datasource.profiler.primary.type=JDBC
datasource.profiler.primary.jdbc.driverClassName=oracle.jdbc.OracleDriver
datasource.profiler.primary.jdbc.url=jdbc:oracle:thin:@host:1521:db
datasource.profiler.primary.jdbc.username=
datasource.profiler.primary.jdbc.password=

These privileges have to be granted to a schema used by Reporting Console:

CONNECT
CREATE SESSION
CREATE/ALTER/DROP TABLE
CREATE/ALTER/DROP SEQUENCE
CREATE/REPLACE TRIGGER

QUOTA UNLIMITED ON <user_tablespace>;
QUOTA UNLIMITED ON <temp_tablespace>;
                

PostgreSQL

You can use the following configuration properties to store profiling results to your PostgreSQL database.

datasource.profiler.jdbcSpecific=POSTGRE
datasource.profiler.primary.type=JDBC
datasource.profiler.primary.jdbc.driverClassName=org.postgresql.Driver
datasource.profiler.primary.jdbc.url=jdbc:postgresql://localhost/dataprofiler?charSet=UTF-8
datasource.profiler.primary.jdbc.username=
datasource.profiler.primary.jdbc.password=

JNDI

Example of JNDI DataSource configuration in Apache Tomcat. Add following code to context file:

<Resource name="jdbc/profiler" auth="Container"
                type="javax.sql.DataSource" driverClassName="com.mysql.jdbc.Driver"
                url="jdbc:mysql://localhost:3306/profiler?useUnicode=true&amp;characterEncoding=utf8"
                username="clover" password="SecretPassword" maxActive="20" maxIdle="10" maxWait="-1"/>
                

You can use the following configuration properties to store profiling results to your JNDI-identified database.

datasource.profiler.jdbcSpecific=MYSQL
datasource.profiler.primary.type=JNDI
datasource.profiler.primary.jndi.jndiName=java:comp/env/jdbc/profiler