search cancel

WA Agent for Database: SQL job fails with "Login failed due to client TLS version"

book

Article ID: 203693

calendar_today

Updated On:

Products

CA Workload Automation DE - Business Agents (dSeries) CA Workload Automation DE DSERIES- SERVER CA Workload Automation DE - System Agent (dSeries) CA Workload Automation DE - Scheduler (dSeries)

Issue/Introduction

The SQL fails with the following SUBERROR:

XX/XX/2020 00:00:12.345-0500 1 DatabasePlugin.database Internal Thread.CybWOBRunDbprocHandler.processWob[:73] - java.sql.SQLException: Reason: Login failed due to client TLS version being less than minimal TLS version allowed by the server.
at net.sourceforge.jtds.jdbc.SQLDiagnostic.addDiagnostic(SQLDiagnostic.java:372)
at net.sourceforge.jtds.jdbc.TdsCore.tdsErrorToken(TdsCore.java:2988)

 

Environment

Release : 12.2

Component : CA WORKLOAD AUTOMATION DE (DSERIES)

Cause

The JDBC driver is old.  The jTDS JDBC has not been updated by the vendor.

Resolution

Change the jTDS driver for MS-SQL to MS JDBC driver.  

Download the latest JDBC driver from Microsoft.  As of writing of this article, the latest version was 8.4.  The downloaded zip or tar.gz file will have several JDBC jar files.  

mssql-jdbc-8.x.0.jre11.jar (x will be 4 if downloaded 8.4 driver or 2 for 8.2)

mssql-jdbc-8.x.0.jre13.jar

mssql-jdbc-8.x.0.jre8.jar

Use the "mssql-jdbc-8.x.0.jre8.jar" with the WA Agent.  The WA Agent uses JRE8 and JDBC for JRE8 must be used.  

Copy the "mssql-jdbc-8.x.0.jre8.jar" to <WA_Agent_install_directory>/jars/ext.

Remove the old jTDS driver file jtds-1.3.1.jar from <WA_Agent_install_directory>/jars/ext. Note: Do not rename, file must be deleted or moved out of agent directory completely.

Restart the agent.

 

Note: If the agentparm.txt has default url then change the URL to use new JDBC driver.

Change following in agentparm.txt:

db.default.url=jdbc:jtds:sqlserver://sql123.example.net:1433;encrypt=true

to:

db.default.url=jdbc:sqlserver://sql123.example.net:1433;encrypt=true

 

If the DB URL is specified at job level, then change the url in the job definition.

jdbc:jtds:sqlserver://sql123.example.net:1433;encrypt=true

to

jdbc:sqlserver://sql123.example.net:1433;encrypt=true