/
Password Character Requirements

Liquibase Enterprise was formerly known as Datical DB.

Password Character Requirements

Passwords may use only the supported special characters.

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

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" 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:
    • 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'

Related content

Liquibase Enterprise 8.3 Release Notes
Liquibase Enterprise 8.3 Release Notes
Read with this
How To: Update Passwords with a Groovy Script
How To: Update Passwords with a Groovy Script
More like this
Database Users, Roles, and Passwords
Database Users, Roles, and Passwords
More like this
Using the metadata-variables.properties file
Using the metadata-variables.properties file
Read with this
Liquibase Enterprise v7.15 - Release Notes
Liquibase Enterprise v7.15 - Release Notes
Read with this

Copyright © Liquibase 2012-2022 - Proprietary and Confidential