Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

This page is for administrators who need to connect PhixFlow to external databases using Driver Classes.

Overview

The PhixFlow application communicates with:

  • the database on which it is installed.
  • an external database from which it needs to load data.
    This is configured using a Datasource in an analysis model.

To communicate with a database, PhixFlow needs:

  • The appropriate database driver jar files in its Driver Class for connecting to a database, stored in PhixFlow's Database Driver File Directory.
    This location of this directory is set directly in the PhixFlow database, and is displayed in System Configuration.
  • A Driver Class for the databasedatabase driver configured in the repository. One database driver class item can have multiple Driver Class Filesrefer to multiple jar files.

There are three databases on which PhixFlow can be installed:

  • MariaDB
  • MS SQL Server
  • Oracle.

For each of these, PhixFlow is preconfigured with:

  • database driver jar files stored in in tomcat/webapps/phixflow/lib 
  • a database driver classes that use the database driver in the repository, which uses jar files.


Panel
borderColor#7da054
titleColorwhite
titleBGColor#7da054
borderStylesolid
titleSections on this page

Table of Contents
indent12px
stylenone



PhixFlow automatically uses the appropriate database driver class to communicate with its own database. You can use these driver classes pre-configured database drivers in a datasource. However, you cannot update their properties or see their driver class jar files.

Tip

You can use the MariaDB database driver class to connect to a MySQL database.

You may need to configure additional database drivers to support:

  • other types of database
  • different versions a database.

How to Configure a Database Driver

Class

  1. Find out which JDBC database drivers you require. This information is available in the documentation for your database. Also check the System Requirements and Compatibility page for supported versions. Communication to a database may require multiple JDBC driver files. 
  2. Download the required JDBC driver files from:
  3. Save the files to the Database Driver Class File Directory. You need permission to add system files to do this.
    • If it has been set in the PhixFlow database, it will be listed in the System Configuration.
    • If it has not been set:
      Insert excerpt
      _set_driver_dir
      _set_driver_dir
      nopaneltrue
  4. In the PhixFlow application, for each type of database, create one Driver Classone database driversee Adding or Changing a Database Driver Class, below.
  5. In the database driver class properties → Database Driver Class File section, add all the JDBC driver files that the database requires; see Driver Classes and Driver Class File Database Drivers Properties, below.
  6. For each driver class jar file, specify the full path to the file, which is stored in the Database Driver Class File Directory, or a sub-directory of it.

Adding or Changing a Database Driver

Class 

Anchor
_add
_add

To create a database driver class, in the full repository scroll down to the

Insert excerpt
_driver_class_repo
_driver_class_repo
nopaneltrue
 section. 

To add a new driver, right-click Driver Classes Database Drivers and select 

Insert excerpt
_new
_new
nopaneltrue
. PhixFlow opens a property tab where you can enter the details for the new driver.

To open an existing driver classdatabase drivver, in the repository click on its name.

Tip

You cannot change the pre-configured driver classes database drivers supplied with your PhixFlow installation. These have the System Defined property ticked.

Driver Classes and

Database Driver

Class File

Properties 
Anchor
properties
properties

The driver classes database drivers configured in the repository populate the drop-down list in

Insert excerpt
_datasource
_datasource
nopaneltrue
 properties Basic Settings → Driver Class.→ Database Driver 

Insert excerpt
_parent
_parent
nopaneltrue
 This section is available for custom driver classes custom database drivers and shows the package to which a database driver class has been added, if any.

Tip

If you intend to use an analysis model in multiple PhixFlow instances, and the model contains a datasource that uses a custom driver classdatabase drivers, remember to add the database driver class to the same application or package as the analysis model; see Using Drivers Across Multiple Instances, below.

Basic Settings

FieldDescription

Name

Enter a unique name for the database driver, which will appear in the PhixFlow repository.
Database Driver Class Name

Enter the the  database driver class name, which you will find in the driver documentation. For example, for MySQL, the driver name is: com.mysql.jdbc.Driver

System Defined

Read-only.

Insert excerpt
_check_box_untick
_check_box_untick
nopaneltrue
 indicates this driver class this  database drivers is custom defined for your PhixFlow instance. You can change it's configuration.

Insert excerpt
_check_box_tick
_check_box_tick
nopaneltrue
 indicates this driver is preconfigured when PhixFlow is installed. It is required for the system and cannot be updated.

DescriptionOptionally enter a description for the driver.

Advanced

FieldDescription
Datasource Profile

Use this option to specify the datasource properties to use. Enter:

  • default - for most drivers
  •  bigQuery - for Google BigQuery.

Database Driver

Class

File

This section has a toolbar with standard buttons

The grid lists the jar files for this database driver classEach database usually requires multiple jar files. To add a jar file to the list:

  1. Click
    Insert excerpt
    _new
    _new
    nopaneltrue
     to open a the properties for a new Database Driver Class File Location.
    (Database Driver Class File Location properties are only available from this grid. They are not listed in the repository.)
  2. In the Basic Settings section, set:

    FieldDescription

    Name

    Enter a unique name for the driver.  
    Connector Jar File Location

    The root Database Driver Class File Directory, must be specified in System Configuration

    Specify a path, relative to the root Database Driver Class File Directory:

    • either to a specific driver class jar file
    • or to a sub-directory that contains multiple driver class multiple driver jar files.

    For example:

    • if the file is /opt/phixflow-drivers/BigQueryJDBC/driverfile.jar
    • and the Database Driver Class File Directory is set to /opt/phixflow-drivers/

    then enter:

    • for Linux: BigQueryJDBC/driverfile.jar
    • Windows:  BigQueryJDBC\driverfile.jar

    If you specify a sub-directory, all jar files will be loaded but further sub-directories will be ignored.


  3. Click 

    Insert excerpt
    _finish
    _finish
    nopaneltrue
     to save and close the properties and return to the database driver class properties.

To remove a jar file from the grid, use the toolbar button 

Insert excerpt
_delete
_delete
nopaneltrue
Anchor
export
export

Using Drivers Across Multiple Instances

If you run multiple instances of PhixFlow, you must ensure that:

  • a custom database driver class used by a datasource, is moved with the datasource to another PhixFlow instance
  • AND the database driver class has access to the database driver jar file from the other instance.

This means all datasource objects continue to work in other instances. 

Tip

The easiest way to ensure the the database driver class moves with the datasource is to add the the database driver class to the same application or package as the model; see Package.

You cannot move the following system database drivers into a package:

  • MariaDB
  • MS SQL Server
  • Oracle.

This is because they are installed on all PhixFlow instances.

How PhixFlow Decides Which Driver to Use

PhixFlow is configured with a class path for finding drivers. This will use the first appropriate driver it finds in:

  1. The Connector Jar File Location configured for the driver classes database drivers file. 
  2. tomcat/webapps/phixflow/WEB-INF/lib
  3. tomcat/lib.
Note

We do not recommend using the tomcat/lib directory for driver files.

Deprecated

Driver Classes

Database Drivers

The repository includes the following, deprecated driver classesdatabase drivers, for backwards compatibility. 

  • DB2
  • Debug JDBC
  • Google Big Query
  • Hadoop Hive
  • MySQL
  • Netezza
  • Sun ODBC Bridge
  • Teradata
Note

These are drivers are read-only and do not connect to any database drivers. If you want to connect to one of these databases, we recommend you create a new new database driver class in which you can configure all the database drives needed.

If you want to connect a preconfigured preconfigured database driver class to the appropriate JDBC database driver files, download and save them to tomcat/webapps/phixflow/WEB-INF/lib. Be aware that the deprecated driver classes database drivers will be removed in a future release.