Versions Compared

Key

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

Passwords may use only the supported special characters.

Supported
~ # $ % * ( ) - _ + [ ] { } . ?

Info
Oracle Only: All special characters are allowed in password if the password is contained within double quotes. This allows Oracle users to use a vault tool to auto-generate passwords that have any character included.


Unsupported
@ & / : < > " ' ` | ^ ! = , \ <spaces>


Explanation:

Datical deploys some changes using database-specific tools such as "sqlplus" for Oracle, "edbplus" for Enterprise DB, "psql" for PostgreSQL, "sqlcmd" for SQL Server, and "clpplus" for DB2.  Datical deploys other change types using a JDBC connection.

  • When Datical deploys changes packaged in the "ddl" folder (packageMethod=convert) or in the "sql" folder (packageMethod=sqlfile), it uses a JDBC connection to deploy these changes. If using the Change Set Wizard instead of packager, a JDBC connection is used for "Execute a SQL script file using JDBC"/"Custom SQL (External File)" change sets.  If the password contains any of the unsupported characters with these specific change types, it would still get deployed.  
  • However, when Datical deploys any other changes packaged in the "data_dml" folder (packageMethod=data_dml), the "sql_direct" or "sqlplus" folders folder (packageMethod=direct), or the "ddl_direct" folder (packageMethod=ddl_direct), or stored logic folders (packageMethod=storedlogic), it uses sqlplus/sqlcmd/clpplus/edbplus/pgsql to deploy those scripts. If using the Change Set Wizard instead of packager, it is the same for "Execute with SQLPlus", "Execute with SQLCMD", "Execute with CLPPlus", "Execute with edbplus", and "Execute with psql" change sets.  This is where above-mentioned unsupported password characters become problematic and deployments fail.  The error message when using unsupported password characters with these types of changes typically appears as follows:

    • Code Block
      Reason: liquibase.exception.UnexpectedLiquibaseException: Error executing command: /proj/app/datical/instantclient/sqlplus -L DATICAL_USER/*****@demo-db1-rhel6.datical.net:1521/TEST1.datical.net @/tmp/liquibase-sqlplus-1912448981370423195.sql returned an code of 1'