In an on-premise Automic Automation System, a jdbc string might have a lot of data in it like:
[JDBC]
SQLDRIVERCONNECT=jdbc:oracle:thin:@(DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)(PORT=1521)(HOST=10.0.0.0))(ADDRESS=(PROTOCOL=TCP)(PORT=1521)(HOST=10.0.0.1)))(CONNECT_DATA=(SERVICE_NAME=SERVER.EXAMPLE.COM)))
The documentation states that what is allowed in the secret is host, port, db, user, password, data-tablespace, index-tablespace-name, and additional parameters and then the ODBC and JDBC string are automatically generated based on this.
Doing this using only the primary host ends up with:
[JDBC]
sqlDriverConnect=jdbc:oracle:thin:@//10.0.0.0:1521/SERVER.EXAMPLE.COM
This is not ideal as it specifies only one DB server node and wouldn't work in case of failover. Is there a way to specify a more complex jdbc connection string?
As of 24.3.0 (and all previous versions), the JDBC string is built by the install-operator and stored in the secret "ae" with the key "AUTMIC_JDBC_SQLDRIVERCONNECT". This is not possible to fully customize at this time and requires a request for enhancement which will be used to determine if it should be implemented in a future version.
As a workaround, you could change the ae.AUTOMIC_JDBC_SQLDRIVERCONNECT and restart the pods. The downside is these changes will be lost after an upgrade, so it will need to be updated after every update to AAKE (hotfix, service pack, minor or major version).