Pega 8.6 not starting with latest JDBC jTDS driver and MSSQL Server
Hello,
Our setup is a Pega 8.6 installation with JBoss 7.3 running on Linux and MSSQL 2016. We currently have SQL users created in the Database, our JDBC connections are working fine and our application too, however, because of security policies, our DBA's are promoting the use of Windows Domain users.
I have been researching and it seems that MSSQL JDBC driver in Linux, does not support Windows Domain authentication.
Because of this we are trying to use jTDS driver, the latest version: jtds-1.3.1
We have successfully enabled the JDBC DataSource connectivity to the MSSQL Server database, and the JBoss server is able to login to the database using a windows domain user.
However when we try to start the Pega application, it starts loading the data from the database, but it stops after a while with the following error message: Unable to start due to out-of date driver version 1.3.1. JDBC 3 is not supported with Microsoft SQL Server Systems. Please refer to the JDBC Driver section of the Platform Support Guide for valid configurations
Is there a known workaround for this? Like forcing Pega application to not to verify the driver version? Or the usage of jTDS driver is simply discouraged?
Any suggestion, recommendation is greatly appreciated!
Thanks and regards!
Here are more details about the log:
Hello,
Our setup is a Pega 8.6 installation with JBoss 7.3 running on Linux and MSSQL 2016. We currently have SQL users created in the Database, our JDBC connections are working fine and our application too, however, because of security policies, our DBA's are promoting the use of Windows Domain users.
I have been researching and it seems that MSSQL JDBC driver in Linux, does not support Windows Domain authentication.
Because of this we are trying to use jTDS driver, the latest version: jtds-1.3.1
We have successfully enabled the JDBC DataSource connectivity to the MSSQL Server database, and the JBoss server is able to login to the database using a windows domain user.
However when we try to start the Pega application, it starts loading the data from the database, but it stops after a while with the following error message: Unable to start due to out-of date driver version 1.3.1. JDBC 3 is not supported with Microsoft SQL Server Systems. Please refer to the JDBC Driver section of the Platform Support Guide for valid configurations
Is there a known workaround for this? Like forcing Pega application to not to verify the driver version? Or the usage of jTDS driver is simply discouraged?
Any suggestion, recommendation is greatly appreciated!
Thanks and regards!
Here are more details about the log:
============ PegaRULES Bootstrap Configuration ============
Date: Wed Aug 31 18:08:08 EDT 2022
Java Version: Red Hat, Inc. 11.0.15
Configuration: vfs:/content/prweb.war/WEB-INF/classes/prbootstrap.properties
Pega-EngineCode: 08-03-04
ASM Version: 1494122791
Database: Microsoft SQL Server 13.00.6419
Driver: jTDS Type 4 JDBC Driver for MS SQL Server and Sybase 1.3.1
Active CodeSets: pega-enginecode:08-03-04 at (latest patch)
customer:06-01-01 at (latest patch)
=============== End Bootstrap Configuration ===============
(ary.ClassMapDatabasePageReader) INFO - Read 55 class group definitions
(ary.ClassMapDatabasePageReader) INFO - Reading the class definitions
(ary.ClassMapDatabasePageReader) INFO - Read 10737 class definitions
( internal.access.DatabaseImpl) INFO - Database product: Microsoft SQL Server
( internal.access.DatabaseImpl) INFO - Database version: 13.00.6419
( internal.access.DatabaseImpl) INFO - Driver: jTDS Type 4 JDBC Driver for MS SQL Server and Sybase
( internal.access.DatabaseImpl) INFO - Driver version: 1.3.1
( internal.access.DatabaseImpl) INFO - Version of JDBC supported by driver: 3.0
( internal.access.DatabaseImpl) INFO - Please update your driver to take advantage of the latest database performance improvements. Contact Pega Customer Support!
( etier.impl.EngineStartup) ERROR - PegaRULES initialization failed. Server:
com.pega.pegarules.pub.context.InitializationFailedError: PRNodeImpl init failed
at com.pega.pegarules.session.internal.mgmt.PREnvironment.getThreadAndInitialize(PREnvironment.java:404) ~[prprivate-session.jar:?]
at com.pega.pegarules.session.internal.PRSessionProviderImpl.getThreadAndInitialize(PRSessionProviderImpl.java:2170) ~[prprivate-session.jar:?]
at com.pega.pegarules.session.internal.engineinterface.etier.impl.EngineStartup.initEngine(EngineStartup.java:661) ~[prprivate-session.jar:?]
at com.pega.pegarules.session.internal.engineinterface.etier.impl.EngineImpl._initEngine_privact(EngineImpl.java:172) ~[prprivate-session.jar:?]
at com.pega.pegarules.session.internal.engineinterface.etier.impl.EngineImpl.doStartup(EngineImpl.java:145) ~[prprivate-session.jar:?]
Caused by: com.pega.pegarules.pub.PRRuntimeError: Problem initializing Connection Manager
at com.pega.pegarules.data.internal.access.DatabaseImpl.<init>(DatabaseImpl.java:1798) ~[prprivate-data.jar:?]
at com.pega.pegarules.data.internal.access.DatabaseImpl.<init>(DatabaseImpl.java:1466) ~[prprivate-data.jar:?]
at com.pega.pegarules.data.internal.access.DatabaseImpl$Builder.build(DatabaseImpl.java:1700) ~[prprivate-data.jar:?]
at com.pega.pegarules.data.internal.access.DatabaseImpl.newDatabaseImpl(DatabaseImpl.java:1656) ~[prprivate-data.jar:?]
at com.pega.pegarules.data.internal.access.DatabaseImpl.newDatabaseImpl(DatabaseImpl.java:1651) ~[prprivate-data.jar:?]
....
Caused by: com.pega.pegarules.pub.database.DatabaseException: Database-General Unable to start due to out-of date driver version 1.3.1. JDBC 3 is not supported with Microsoft SQL Server Systems. Please refer to the JDBC Driver section of the Platform Support Guide for valid configurations
at com.pega.pegarules.data.internal.access.DatabaseImpl.failStartupIfInsufficientDriverVersion(DatabaseImpl.java:5364) ~[prprivate-data.jar:?]
at com.pega.pegarules.data.internal.access.DatabaseImpl.<init>(DatabaseImpl.java:1763) ~[prprivate-data.jar:?]
at com.pega.pegarules.data.internal.access.DatabaseImpl.<init>(DatabaseImpl.java:1466) ~[prprivate-data.jar:?]
at com.pega.pegarules.data.internal.access.DatabaseImpl$Builder.build(DatabaseImpl.java:1700) ~[prprivate-data.jar:?]
at com.pega.pegarules.data.internal.access.DatabaseImpl.newDatabaseImpl(DatabaseImpl.java:1656) ~[prprivate-data.jar:?]
at com.pega.pegarules.data.internal.access.DatabaseImpl.newDatabaseImpl(DatabaseImpl.java:1651) ~[prprivate-data.jar:?]
at com.pega.pegarules.data.internal.PRDataProviderImpl.ctorDatabaseImpl(PRDataProviderImpl.java:1014) ~[prprivate-data.jar:?]