Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

Version 1 Next »

Executes a group of sql files and copies "Other" files to specified destinations from a package created by the partialJdbcBuild operation.


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

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, so the path to one is required (FDJDBC_DRIVER_PATH).

  

Environment/Instance Properties

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 (e.g. for Weblogic - {ORACLE_HOME}/oracle_common/modules/oracle.jdbc_11.2.0/ojdbc6.jar).

  

Project Properties

Property Name

Property Code

Required

Description

Ignore Failure DefaultFDJDBC_IGNORE_FAILURE_DEFAULTNoWhen populating or evaluating files, default Ignore Failure to this.
Property Replacement DefaultFDJDBC_PROPERTY_REPLACEMENT_DEFAULTNoWhen populating or evaluating files, default Property Replacement to this.
SQL Root Target FolderFDJDBC_SQL_ROOT_TARGET_FOLDERNoThe path to store the delivered Sql files. Sql files will be run from here. Leave blank to run them from the FD_TEMP_DIR.
Other Root Target FolderFDJDBC_OTHER_ROOT_TARGET_FOLDERNoThe path to store the delivered Other files. Leave blank to store them in the FD_TEMP_DIR.
Retry Count DefaultFDJDBC_RETRY_COUNT_DEFAULTNoWhen populating or evaluating files, default the Retry Count to this. (0-5)

SQL Extension Order

FDJDBC_SQL_EXTENSIONS

No

The order of sql extensions that you want to use when populating and sorting files. Files should be sorted as needed before at or before build time.

Defaults to "seq,tbl,idx,typ,tps,tpb,sql,pkh,plb,pks,pkb,pls,pck,fnc,trg,spc,bdy,prc"

Project File IncludesFD_PARTIAL_FILE_INCLUDESNoControls files included in Project Files. Enter expressions separated by ##. Leave empty to select all files. Begin or end the expression with * for simple wildcards. Otherwise, regex
is used. (e.g. /java/*##*.java##*person*##/java/.*[tT]est.*\.java)
Project File ExcludesFD_PARTIAL_FILE_EXCLUDESNoControls files excluded from Project Files. Enter expressions separated by ##. Leave empty to select all files. Begin or end the expression with * for simple wildcards. Otherwise,
regex is used. (e.g. /java/*##*.java##*person*##/java/.*[tT]est.*\.java)

  

Inputs

Input Name

Input Code

Required

Description

User

FDJDBC_INP_USER

No

The username that will be used to connect with. This input takes precedence over the environment instance scoped FDJDBC_USER property. This input is required if the FDJDBC_USER property is not specified.

Password

FDJDBC_INP_PASSWORD

No

The password for FDJDBC_INP_USER. This input takes precedence over the environment instance scoped FDJDBC_PASSWORD property. This input is required if the FDJDBC_PASSWORD property is not specified.

Script File

FDJDBC_INP_FILE_NAME

Yes

The path to the script to execute. If a relative path is given, the path will be assumed to be in the FD_ARTIFACTS_DIR.

Run Destructive

FDJDBC_INP_RUN_DESTRUCTIVE

No

This option allows destructive statements to be run. See Special Considerations below.

  

Outputs

Output Name

Required

Description




  

Artifacts

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

  

Endpoint Selection

This operation will select all available endpoints associated to the environment/instance.

  

Endpoint Execution

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

  

Special Considerations

Replacement Properties

The SQL files are pre-processed by the plugin to transform any defined replacement properties.  An example usage of replacement properties is when the schema name cannot be hard-coded because it varies from environment to environment.

Alternative to Property Replacement

As an alternative to property replacement for dynamic schema injection, consider the use of an ALTER SESSION command to modify the schema user which will run the statements.  With this approach you need to ensure that the statements are not schema qualified. 

For example
ALTER SESSION SET current_schema=${{MYINST:MYSCHEMA}} 

Where MYSCHEMA is an environment instance property for the MYINST instance.  To achieve this you would create an environment instance-scoped property on the workflow and associate the workflow to the MYINST instance.  You will then be able to provide values for each environment associated to that instance.

Sample SQL script file

CREATE OR REPLACE PACKAGE emp_mgmt AS
   FUNCTION hire (last_name VARCHAR2, job_id VARCHAR2, 
      manager_id NUMBER, salary NUMBER, 
      commission_pct NUMBER, department_id NUMBER) 
      RETURN NUMBER; 
   FUNCTION create_dept(department_id NUMBER, location_id NUMBER) 
      RETURN NUMBER; 
   PROCEDURE remove_emp(employee_id NUMBER); 
   PROCEDURE remove_dept(department_id NUMBER); 
   PROCEDURE increase_sal(employee_id NUMBER, salary_incr NUMBER); 
   PROCEDURE increase_comm(employee_id NUMBER, comm_incr NUMBER); 
   no_comm EXCEPTION; 
   no_sal EXCEPTION; 
END emp_mgmt;
/
grant execute on emp_mgmt to HR;

grant execute on dept_mgmt to HR;

  • No labels