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, "sqlcmd" for SQL Server, and "clpplus" for DB2.
- When Datical deploys ddl changes, it uses JDBC driver to deploy these changes. If password used any of the unsupported characters those DDL changes would still get deployed.
- When Datical deploys any other changes (dml, sql_direct or stored logic scripts), it uses "sqlplus" to deploy those scripts. This is where above-mentioned unsupported characters become problematic and deployments fail. Error message 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'