Versions Compared

Key

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

...

...

This page is for administrators who need to configure PhixFlow with database drivers using Driver Classes.

Overview

PhixFlow requires database drivers in order to communicate with a database . These are usually JDBC drivers that you download as  one or more Jar files

Driver names have the form com.mysql.jdbc.Driver

When you install PhixFlow, to which:

  •  your PhixFlow instance saves its data. This is one of: Oracle, Microsoft SQL Server, MariaDB
  • an analysis model connects via a datasource.

PhixFlow is installed with a set of driver jar files are installed in the PhixFlow (system somewhere) and the Driver Classes are automatically configured with the install. and their associated Driver Classes in the repository.

You cannot update or change these Driver Classes, listed in the repository. In particular, Oracle, Microsoft SQL Server, MariaDB are important not to change because PhixFlow can be installed in these database. So these are maintained by Us.

You can create your own user maintained/custom

They should be flagged as sys or not. Syst maintained ones should show up with details saying you cannot change it.

...

You may need to support the same database with different versions may need different versions of drivers.

You may also have a brand new database drivers.

Admins should know

- driver class name
- which single jar (usually) or set of jars are needed - depends on Database person
- The database manufacturers doc will tell them.
- There may be problems with compatibility - check DB doc or download

Class path: our normal class pth is all of the lib and class dir files - these are the set of jar files that tomcat has and on top that everything in lib and on top of that everything in class. Their custom files are a layer on top.

They have to get the jar files onto the tomcat server - no specific location
NOT in tomcat (lib or class)
Additional files stored separately - to avoid them being ovewritten best if stored outside tomcat or phixflow. No system directory.

You can connect PhixFlow to (any) databases to access its data in analysis models. However, you must load and configure the database drivers. To make this easy, PhixFlow has Driver Classes for the following databases:

...

?? Can we give any advice for finding the relevant one. The IBM page for DB2 had a load of different downloads with different libraries and I had no idea which would be required.??

Users could not do their own before.
This is more easy to maintain.

# How To

1. For the database you want to connect to download the appropriate driver. JDBC or ODBC
2. Upload to PhixFlow?
3. Set the Driver Class properties
4. Set the Driver Class File

Is there a connection between database collectors/datasource/database exporters.

Datasources and Database Collectors
Basic Settings -> Driver Class
Datasource Instances -> URL -> jdbc:database://localhost/phixflow_instance_name

...

the pre-configured driver classes, which are:

  • DB2
  • Debug JDBC
  • Google Big Query
  • Hadoop Hive
  • MariaDB
  • Microsoft (MS) SQL Server 
  • MySQL
  • Netezza
  • Oracle
  • Sun ODBC Bridge
  • Teradata


How to Configure Driver Classes

You may need to configure additional database drivers to support:

  • other types of database
  • different versions a database.

To find out which (usually JDBC)  database drivers you require, read the documentation for your database. Also check System Requirements and Compatibility

  1. An administrator with permission to add system files must download the required jdbc drivers and save them to the system.
    To avoid your drivers being overwritten during Tomcat or PhixFlow upgrades, we recommend that you save them in a different part of the system. 
  2. The PhixFlow administrator configures a driver class for the driver, specifying the database driver name and its path.


Adding or Changing a Driver Class

To create a driver class, in the repository scroll down to the ICON  section. 

To add a new driver, right-click ICON and select 

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

To open an existing driver class, in the repository click on  its name. You cannot change the pre-configured driver classes supplied with your PhixFlow installation. 

Driver Classes and Driver Class File Properties

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

Insert excerpt
_datasource
_datasource
nopaneltrue
 properties Basic Settings → Driver Class

Insert excerpt
_standard_settings
_standard_settings
nopaneltrue

Basic Settings

FieldDescription

Name

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

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

DescriptionOptionally enter a description for the driver.

Driver Class File

This section has a toolbar with standard buttons.

The grid contains a list of jar files and their locationfile path.  To add a jar file to the list:

  1. Click
    Insert excerpt
    _add
    _add
    nopaneltrue
     to open a the properties for a new Driver Class File Location.
  2. In the Basic Settings section, set:

    FieldDescription

    Name

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

    Enter the full

    path 

    path to the jar file.

    Windows example path

    Linux example path /lib/something/jar 


  3. Click 

    Insert excerpt
    _finish
    _finish
    nopaneltrue
     to save and close the properties for the driver class file.


Some databases require multiple jar files. Add a Driver Class File Location for each of the jar files.

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

Insert excerpt
_delete
_delete
nopaneltrue
.The full path of the jar file as seen on the server /lib/something/jar - show it being held outside - where you want to put the files.

Look for example for excel exporters and for the where we said they were berfore.

Connector Jar File Location

# security issues

Jar file is compiled code that we cannot control that will run inside the app with no checks on what it can see.That sets of security bells.
This could connect to a jar file tht could do anyting.
We really only want admins to do this.
We don't want any phixFlow.

An admin on the server is the only one who can install the jar file.

File collectors let users upload to a file collector - system config file upload directory.


We need to have a specific place for driver class files.
Do driver class files need a jira need something to restrict where it will look for the Jar files.

Driver Classes have their own privilege??? - should be restricted to admins and import export.... but may not be at the moment

Using Drivers Across Multiple Instances

For application building, once you have a custom driver, you need the same driver on all instances - so you need to export/import or you will lose the refences.


How PhixFlow Decides Which Driver to Use

The PhixFlow class path for finding drivers (but the drivers must be specified in the driver class so I'm not sure this is relevant any more

  1. Your drivers you configure 
  2. Drivers saved to PhixFlow's lib directory
  3. Drivers in the Tomcat class directory
  4. Drivers in the Tomcat lib directory.