runScript

Executes a SQL script or Sequence file with one or more SQL file. Property replacement is performed on the files before they are executed.

Delimiting SQL files

Please note that the statements in the SQL files must be delimited properly.

  • Use ; to delimit individual statements.

  • Use / on new line to delimit program blocks.

  • Use /* or -- (two dashes) for comments.

The SQL Databases supported  by the parser are:

  • 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+

No JDBC drivers are included in the plugin.

Target Properties

Property Name

Property Code

Required

Description

Property Name

Property Code

Required

Description

JDBC URL

FDJDBC_URL

Yes

The JDBC URL of the database.

JDBC User

FDJDBC_USER

No

The username that will be used to connect with.

JDBC Password

FDJDBC_PASSWORD

No

The password of the username.

JDBC Driver Path

FDJDBC_DRIVER_PATH

Yes

Classpath for locating the JDBC Driver. For example, 

/u01/oracle/fmw/oracle_common/modules/oracle.jdbc_11.2.0/ojdbc6.jar

Inputs

Input Name

Input Code

Required

Description

Input Name

Input Code

Required

Description

User

FDJDBC_INP_USER

No

The username that will be used for database connection. Required if Target JDBC User property is not specified.

This input takes precedence over the Target JDBC User property.

Password

FDJDBC_INP_PASSWORD

No

Password for User specified in plugin input. Required if Target JDBC Password property is not specified.

This input takes precedence over the Target JDBC Password property.

Script File

FDJDBC_INP_FILE_NAME

Yes

Fully qualified or relative path to script file. If relative path is given, it will be assumed to be in the FD_ARTIFACTS_DIR.

Script file can be SQL file or Sequence file with one or more SQL file.

Property replacement is performed on the files before they are executed.

Sequence file is useful to run more than one SQL file in specific sequence. Sequence file must have !SEQ on first line. Each additional line should indicate SQL files as relative path to Sequence file.

!SEQ CreateHR.sql GrantHR.sql ADFStateMgt.sql

Statements in the SQL files must be delimited properly.

Delimiting SQL files

Please note that the statements in the SQL files must be delimited properly.

  • Use ; to delimit individual statements.

  • Use / on new line to delimit program blocks.

  • Use /* or -- (two dashes) for comments.



Run Destructive

FDJDBC_INP_RUN_DESTRUCTIVE

No

This input allows a mechanism for disallowing certain destructive SQL commands.

If the input is set to true, DROP, DELETE, and TRUNCATE will be allowed within the script.

If the input is set to false, plugin operation will abort with a validation error prior to running any of the commands in the script.

This check cannot stop malicious actors, but instead helps to provide some security against accidental running of destructive commands. It is up to the customer to decide whether they want to allow such commands.

Ignore Compilation Warnings

FDJDBC_INP_IGNORE_WARNING

No

If checked, sql compilation warnings will be ignored. Otherwise, they will cause the execution to be marked as failed.

For Oracle database, plugin will print errors from USER_ERRORS or DBA_ERRORS for the object being deployed. Plugin will read errors from USER_ERRORS first and then read from DBA_ERRORS if nothing found. 

Show DBMS Output

FDJDBC_INP_SHOW_DBMS_OUT

No

Print DBMS Output in the log. Only supported for Oracle Database. 

Artifacts

This operation consumes one or more SQL files, and an optional sequence file, from the artifacts repository.

Endpoint Selection

This operation delegates the selection to the workflow developer to determine.

Endpoint Execution

This operation will randomly execute on one of the endpoint identified during selection.

Special Considerations

The following macros are not currently supported in the footer:
  • style