4.3 sp3 Cluster nodes defaulting to JTDS driver.
search cancel

4.3 sp3 Cluster nodes defaulting to JTDS driver.

book

Article ID: 113136

calendar_today

Updated On:

Products

Process Automation Manager CA Process Automation Base

Issue/Introduction

When installing a cluster in 4.3 sp3 if Node 1 was initially installed as a Stand-Alone Domain Orchestrator using the Microsoft JDBC driver, and then a Reinstall is run to convert to a Cluster, other nodes will not properly pick up the MS SQL JDBC Driver setting and will instead attempt to use the jtds driver.

This will cause the startup of Node 2 will fail.  From the boot.log we can see it is attempting to use the JTDS Driver instead of the MS SQL JDBC Driver:

12:30:46,812 INFO  [SystemPropertiesInitializer] Initialising System properties for PAM
12:30:46,968 ERROR [SystemPropertiesInitializer] SQL Error occured while preparing properties table due to
java.sql.SQLException: Failed to load driver class: net.sourceforge.jtds.jdbc.Driver
    at com.ca.util.ClusterConfigurationMgrUtil.getConnection(ClusterConfigurationMgrUtil.java:71)


This issue will only appear under the following narrow conditions:
1. Version 4.3 SP3
2. Initial install done as a stand alone, non-clustered Domain Orchestrator.
2. The MS SQL JDBC Driver is selected as the JDBC Driver.
3. A reinstall is done to reset the environment from a Stand-Alone Domain Orchestrator to a Clustered Domain Orchestrator.

Environment

Release: ITPASA99000-4.3-Process Automation-Add On License for-CA Server Automation
Component:

Resolution


To resolve this, first verify that the MSSQL JDBC Driver, "mssql-jdbc-6.1.0.jre7.jar" is located in the following 2 directories on the cluster node:


\CA\PAM\server\c2o\ext-lib\

\CA\PAM\server\c2o\.c2orepository\.c2oserverresources\lib\


If they do not exist, locate and copy mssql-jdbc-6.1.0.jre7.jar from the original Node. 



Once the jar is in place open the secondary Node's \pam\server\c2o\.config\OasisConfig.properties file in a text editor. 

There are 11 lines that reference the JTDS driver and will need to be corrected.   Please update the OasisConfig to comment out the incorrect values and replace with MS SQL JDBC Driver details.   


Line numbers shown below are to be used as a guide, the specific line numbers will vary slightly in each OasisConfig.properties file.

If your MS SQL Database uses a Port other than 1433 please ensure that is correct before saving the changes.




    Line 24:

#oasis.database.connectionurl=jdbc:jtds:sqlserver://{MSSQL_Database_Host}:1433;databaseName=

oasis.database.connectionurl=jdbc:sqlserver://{MSSQL_Database_Host}:1433;databaseName=


    Line 32:

#oasis.database.driver=net.sourceforge.jtds.jdbc.Driver

oasis.database.driver=com.microsoft.sqlserver.jdbc.SQLServerDriver


    Line 42:

#oasis.database.datasource.class=net.sourceforge.jtds.jdbcx.JtdsDataSource

oasis.database.datasource.class=com.microsoft.sqlserver.jdbc.SQLServerXADataSource


    Line 46:

#oasis.database.additionalparamurl=;responseBuffering=full;SelectMethod=cursor;socketTimeout=0

oasis.database.additionalparamurl=;responseBuffering=full;SelectMethod=cursor;MultiSubnetFailover=True;


    Line 64:

#oasis.reporting.database.driver=net.sourceforge.jtds.jdbc.Driver

oasis.reporting.database.driver=com.microsoft.sqlserver.jdbc.SQLServerDriver


    Line 72:

#oasis.reporting.database.connectionurl=jdbc:jtds:sqlserver://{MSSQL_Database_Host}:1433;databaseName=

oasis.reporting.database.connectionurl=jdbc:sqlserver://{MSSQL_Database_Host}:1433;databaseName=


    Line 78:

#oasis.reporting.database.additionalparamurl=;responseBuffering=full;SelectMethod=cursor;socketTimeout=0

oasis.reporting.database.additionalparamurl=;responseBuffering=full;SelectMethod=cursor;MultiSubnetFailover=True;


    Line 96:

#oasis.runtime.database.driver=net.sourceforge.jtds.jdbc.Driver

oasis.runtime.database.driver=com.microsoft.sqlserver.jdbc.SQLServerDriver


    Line 106:

#oasis.runtime.database.datasource.class=net.sourceforge.jtds.jdbcx.JtdsDataSource

oasis.runtime.database.datasource.class=com.microsoft.sqlserver.jdbc.SQLServerXADataSource


    Line 110:

#oasis.runtime.database.connectionurl=jdbc:jtds:sqlserver://{MSSQL_Database_Host}:1433;databaseName=

oasis.runtime.database.connectionurl=jdbc:sqlserver://{MSSQL_Database_Host}:1433;databaseName=


    Line 114:

#oasis.runtime.database.additionalparamurl=;responseBuffering=full;SelectMethod=cursor;socketTimeout=0

oasis.runtime.database.additionalparamurl=;responseBuffering=full;SelectMethod=cursor;MultiSubnetFailover=True;

 




Update ACTIVEMQ message service with new driver information:

Copy the mssql-jdbc-6.1.0.jre7.jar to "PAM\\activemq\lib" folder

Modify the "PAM\activemq\bin\pamactivemq.bat" file to update the CLASSPATH to point at the MSSQL JDBC Driver:

set CLASSPATH="%~dp0..\lib\activemqwrapper-snapshot.jar";"%~dp0..\..\server\c2o\ext-lib\jna-3.4.0.jar";"%~dp0..\lib\optional\commons-dbcp2-2.1.1.jar";"%~dp0..\lib\optional\commons-pool2-2.4.2.jar";"%~dp0..\lib\mssql-jdbc-6.1.0.jre7.jar";"...