Passwords may use only the supported special characters.
Supported
~ # $ % * ( ) - _ + [ ] { } . ?
Unsupported
@ & / : < > " ' ` | ^ ! = , \ <spaces>
Explanation:
Datical deploys some changes using database-specific tools such as "sqlplus", "expdp", "impdp" for Oracle. Other tools used by Datical are , "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 ddl changeschanges packaged in the "ddl" folder (packageMethod=convert) or in the "sql" folder (packageMethod=sqlfile), it uses a JDBC driver connection to deploy these changes. If using the Change Set Wizard instead of packager, a JDBC connection is used for "Custom SQL (External File)" change sets. If the password used contains any of the unsupported characters those DDL changes with these specific change types, it would still get deployed.
- When However, when Datical deploys any other changes packaged in the "data_dml" folder (packageMethod=data_dml), the sql_direct folder (packageMethod=direct) or stored logic scriptsfolders (packageMethod=storedlogic), it uses "sqlplus" 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", and "Execute with psql" change sets. This is where above-mentioned unsupported characters become problematic and deployments fail. Error message The error message when using unsupported 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'