FlexDeploy - JDBC PluginGuide

The JDBC plugin provides the ability to deploy SQL scripts to supported databases using JDBC.

Supported Versions

Any JDBC driver which is supported by the database vendor for the version you have installed is likely to be compatible with the FlexDeploy JDBC plugin. Supported databases include following.

  • Oracle 10g+
    • Using statement delimiter of ;
    • PL/SQL blocks starting with DECLARE or BEGIN and finishing with END; /
  • MySql 5.1+
  • PostgreSql 9.0+ 
  • Derby 10.8.2.2+
  • SAP HANA
  • SQL Server 2008+
  • MariaDB 10.0+
  • Vertica 6.5+
  • H2 1.2.137+
  • solidDB 6.5+
  • SQL Azure
  • DB2 9.7+
  • AWS Redshift
  • Hsql 1.8+
  • Sybase ASE12.5+
  • SQLite 3.7.2+
  • DB2 z/OS 9.1+
  • EnterpriseDB 9.4+
  • Phoenix 4.2.2+
  • Greenplum 4.3+

Key Features

  • Vendor neutral implementation using JDBC 
  • Oracle specific extensions for PL/SQL

Plugin Operations

Partial Deployment - Supported Object Types

JDBC Plugin supports partial deployment, see below for details on supported object types.

The JDBC plugin partial deploy support allows for deploying File and Folder type objects. This page explains the two types and their attributes. This functionality became available in the 4.5.1 release.

DB Objects

DB (Database) type objects model sql files that are stored in SCM. They are used to copy sql files from an SCM to a filesystem on an endpoint where they are executed by JDBC. DB type objects can be sourced only from an SCM. They cannot be created manually. No attributes are required.

Subfolders to the final target location of the sql files are created by the plugin as long as the endpoint user has sufficient privileges.

Attributes

Name
Description
Default Value
User PropertyThe property that will be used to set the username used to log into the database.FDJDBC_USER - Set this value on the environment/instance, or override it on a project. Alternatively, create a new property on the workflow, and then set its value in one of those locations.
Password PropertyThe property that will be used to set the password used to log into the database.FDJDBC_PASSWORD- Set this value on the environment/instance, or override it on a project. Alternatively, create a new property on the workflow, and then set its value in one of those locations.
JDBC URL PropertyThe property that will be used to set the JDBC URL used to log into the database.FDJDBC_URL- Set this value on the environment/instance, or override it on a project. Alternatively, create a new property on the workflow, and then set its value in one of those locations.
Retry CountHow many times should the file be retried before marking it as a failure. It may be useful to set it to a larger value if deploying many files together if the selected order may not be correct.Retry Count Default is the project property that fills in the default value at evaluate or populate time.
Ignore FailureIf checked, the file and the execution will be marked successful even if it fails to be processed in any way. The failure will be logged, but there will be no other indication.Ignore Failure Extensions is the project property that takes a list of extensions. Any files that end with those extensions will have their ignore failures checkbox checked at populate or evaluate time.
Ignore Compilation WarningsIf checked, the file and the execution will be marked successful even if it encounters a compilation warning. The warning will be logged, but there will be no other indication.Ignore Compile Error Extensions is the project property that takes a list of extensions. Any files that end with those extensions will have their ignore compilation warnings checkbox checked at populate or evaluate time.
Property ReplacementIf checked, property replacement will be run on the file, unless it appears to be a binary file, and then it will be skipped for property replacement.Property Replacement Default is the project property to control the default.
Target Location

This is the location where the file will be placed. Property replacement will be performed on the value.

If blank, the file will be copied into FD_TEMP_DIR. If the default is used, but the SQL Root Target Folder project property is left blank, then the file will be copied into FD_TEMP_DIR.

${{FDJDBC_SQL_ROOT_TARGET_FOLDER}}

Other Objects

Other objects type objects model non-sql files that are stored in SCM. They are used to copy files that are stored with sql files from an SCM to a filesystem on an endpoint.Optionally they can have property replacement performed on the,. They cannot be created manually. No attributes are required.

Attributes

Name
Description
Default Value
Target Location

This is the location where the file will be placed. Property replacement will be performed on the value.

If blank, the folder will be created in FD_TEMP_DIR. If the default is used, but the Other Root Target Folder project property is left blank, then the folder will be created in FD_TEMP_DIR.

${{FDJDBC_OTHER_ROOT_TARGET_FOLDER}}
Property ReplacementIf checked, property replacement will be run on the file, unless it appears to be a binary file, and then it will be skipped for property replacement.Property Replacement Default is the project property to control the default.

See Appendix for more details.