This page is for data modellers who want to connect to an external database, either to load data or to export processed data back to a database.
Overview
The datasource defines a connection to an external database. You need to define at least one datasource modelling object in order to push and pull data to and from external database systems. You can configure several datasource objects if you want to have several connections to the same database.
Datasource behaviour is also determined by these parameters set elsewhere in PhixFlow:
- Privilege 'Allow anonymous updates on datasources'. Only a user with this privilege can modify the 'Anonymous export allowed' flag on a datasource.
- System Configuration. parameter 'Allow anonymous export by default'. This causes the 'Anonymous export allowed' to be true by default on all new datasources.
To configure a datasource you must specify:
- a name
- a driver class. This should match the type of datasource you are connecting to, e.g. Oracle; see Driver Classes.
- The protect during import flag can be used to prevent this datasource being updated or deleted during import.
To prevent orphaned datasources, when a parent application is deleted by the import, its datasources will also be deleted. - Remember to set the enabled flag to make the datasource active.
- Most importantly, ensure you have configured at least one datasource instance.
The toolbar has the standard icons and Show Tables, which opens a list of tables visible for this datasource using the default login details; see the Table Details window.
For information about other property tabs, see Property Tabs.
Basic Settings
Field | Description |
---|---|
Name | Required. Enter the name for this datasource object. You will use this name to specify this datasource object in other collector and exporter objects. |
Enabled | Tick when the configuration is complete and the datasource is ready to be used. |
URL | Enter the URL to connect to the datasource; see Connection URLs below. what |
Allow Anonymous Export | For datasources connected to an exporter being run by a task, such as a scheduled task. The target database must permit anonymous updates. Tick to allow an exporter to export data anonymously to a database using the datasource. The datasource uses the anonymous username and password configured ...?where. The datasource can only use the logged in user's credentials (see Use user credentials below). |
Use User Credentials on Export | For datasources connected to an exporter being run interactively, when a user clicks Run Analysis directly or via an application action. Tick to connect to the target database using the PhixFlow username and password of the current logged-in user. The target database must already have the same username and password with the required permissions. Contact the database administrator to do this. |
Protect during import | Tick to specify ?? |
Password | Password for connecting to the datasource with the Anonymous Username. I've ticked Allow Anonymous, and Use User, but I'm not seeing any fields where I can specify which user credentials to use. This option has gone. |
Driver Class | Select the driver class for the type of database to which the datasource object connects. Not all the driver classes listed are configured with the JDBC drivers; see Driver Classes. |
Advanced
Field | Description |
---|---|
Check Query | See Advanced Configuration. |
Datasource Profile | See Advanced Configuration. |
Description | A description of the datasource instance. |
Connection URLs
A datasource instance must have a name, a URL, and a username and password used to connect to the external datasource. The URL should be in one of the following formats:
Platform | Connection String |
---|---|
Oracle | jdbc:oracle:thin:@hostname:1521:phixflow |
Oracle (> 12c with PDB containers) | jdbc:oracle:thin:@hostname:1521/phixflow |
Sql Server | jdbc:sqlserver://hostname\myservice;databaseName=phixflow |
MySQL | jdbc:mysql://hostname/phixflow |
Big Query | jdbc:bigquery://@hostname:@port;ProjectId=@Project; |
Authentication to the Target Database
This is an advanced (optional) setting. Use this field when connections to the target database might go "stale", e.g. if the target database disconnects long running connections. Setting this field causes PhixFlow to run the query against the database just before each use of a "pooled" connection. If the query does not return a row, the connection is discarded and a new connection is created. To avoid any performance impact, the query should execute quickly. See also database collectors for guidance on writing SQL queries in PhixFlow.
This is an advanced (optional) setting. Use this field when connections to the target database have certain requirements that are not covered by PhixFlow's default external Datasource configuration. The value entered in this field will determine which external datasource connection profile that this datasource instance will use to connect to the target database.