DB status not working when instance is specified in connection string
search cancel

DB status not working when instance is specified in connection string

book

Article ID: 251894

calendar_today

Updated On:

Products

CA Identity Suite

Issue/Introduction

  
The connection string required when the databases are moved to a MS SQL Always On Availability Group (AG) should contain the port and instance name.  

Using the normal format in the hostname field produces an error it seems due to the code stripping out the backslash.  So we have used a double backslash in the hostname filed when deploying the vApp applications:  ie. AWSDB01\\SQLDBS01.

In the standalone xml we see the double backslash converted to a single baskslash:
 <connection-url>jdbc:sqlserver://<sql_FQDN.com>\<SQL_DB>1:55150;selectMethod=cursor;DatabaseName=CAIDM_OBJECTSTORE</connection-url>

While this works OK, it has caused a few side effects:

The 'cavapp_monitor' script and the vApp dashboard give wrong status for the database connection tests:

[ERROR] Connection to IM database (<sql_FQDN.com>\<SQL_DB>:55150) failed
[ERROR] Connection to IP database (<sql_FQDN.com>\<SQL_DB>:55150) failed
[OK] Connection to IG database (<sql_FQDN.com>\<SQL_DB>:55150) succeeded


These same connection strings worked OK for the DB deployment.  They are working fine for the JBoss applications.  It seems that the database monitor script must be taking the "\" out of the connection string.  

Also, the populateIgDatabase vApp command fails when the instance name is used.  However, the IG Application vApp deployment was successful (and created the original schemas) during the original deployment.  

 

Environment

Release : 14.4

Cause

There are two ways for configuring the instance name in the connection url.

 

jdbc:sqlserver://[serverName[\instanceName][:portNumber]][;property=value[;property=value]]

or

jdbc:sqlserver://<hostname>;instanceName=<instance_name>;databaseName=<database_name>;

 

When you try the option 1 issue exists, but if you try the 2nd option everything is working fine, I tested before confirming.

Resolution

Use this format for specifying the DB url:

jdbc:sqlserver://<hostname>;instanceName=<instance_name>;databaseName=<database_name>;