# Database connectivity issue

**URL:** <https://forum.inductiveautomation.com/t/database-connectivity-issue/73018>\
**Category:** Ignition\
**Created:** [April 28, 2023, 12:29pm UTC](https://forum.inductiveautomation.com/t/database-connectivity-issue/73018 "2023-04-28T12:29:14Z")\
**Posts on this page:** 3\
**Page:** 1

<div class="post-metadata">

**Author:** ![Aravind\_G](https://avatars.discourse-cdn.com/v4/letter/a/8e8cbc/32.png) [@Aravind\_G](https://forum.inductiveautomation.com/u/Aravind_G)\
**Post date:** [April 28, 2023, 12:29pm UTC](https://forum.inductiveautomation.com/t/database-connectivity-issue/73018/1 "2023-04-28T12:29:14Z")

</div>

Hello all, I'm facing this kind of error  
java.sql.SQLException: Cannot create PoolableConnectionFactory (The driver could not establish a secure connection to SQL Server by using Secure Sockets Layer (SSL) encryption. Error: "The server selected protocol version TLS10 is not accepted by client preferences [TLS13, TLS12]". ClientConnectionId:44dba69c-d288-4fef-8400-a9d2c994abe8)  
at org.apache.commons.dbcp2.BasicDataSource.createPoolableConnectionFactory(BasicDataSource.java:656)  
at org.apache.commons.dbcp2.BasicDataSource.createDataSource(BasicDataSource.java:534)  
at org.apache.commons.dbcp2.BasicDataSource.getConnection(BasicDataSource.java:734)  
at com.inductiveautomation.ignition.gateway.datasource.DatasourceImpl.getConnectionInternal(DatasourceImpl.java:300)  
at com.inductiveautomation.ignition.gateway.datasource.DatasourceImpl.runTest(DatasourceImpl.java:253)  
at com.inductiveautomation.ignition.gateway.datasource.DatasourceManagerImpl$FaultedDatasourceRetryer.lambda$newRetryRunnable$0(DatasourceManagerImpl.java:1096)  
at com.inductiveautomation.ignition.common.execution.impl.BasicExecutionEngine$TrackedTask.run(BasicExecutionEngine.java:587)  
at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Unknown Source)  
at java.base/java.util.concurrent.FutureTask.runAndReset(Unknown Source)  
at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(Unknown Source)  
at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)  
at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)  
at java.base/java.lang.Thread.run(Unknown Source)  
Caused by: com.microsoft.sqlserver.jdbc.SQLServerException: The driver could not establish a secure connection to SQL Server by using Secure Sockets Layer (SSL) encryption. Error: "The server selected protocol version TLS10 is not accepted by client preferences [TLS13, TLS12]". ClientConnectionId:44dba69c-d288-4fef-8400-a9d2c994abe8  
at com.microsoft.sqlserver.jdbc.SQLServerConnection.terminate(SQLServerConnection.java:3937)  
at com.microsoft.sqlserver.jdbc.TDSChannel.enableSSL(IOBuffer.java:1950)  
at com.microsoft.sqlserver.jdbc.SQLServerConnection.connectHelper(SQLServerConnection.java:3456)  
at com.microsoft.sqlserver.jdbc.SQLServerConnection.login(SQLServerConnection.java:3077)  
at com.microsoft.sqlserver.jdbc.SQLServerConnection.connectInternal(SQLServerConnection.java:2919)  
at com.microsoft.sqlserver.jdbc.SQLServerConnection.connect(SQLServerConnection.java:1787)  
at com.microsoft.sqlserver.jdbc.SQLServerDriver.connect(SQLServerDriver.java:1229)  
at org.apache.commons.dbcp2.DriverConnectionFactory.createConnection(DriverConnectionFactory.java:52)  
at org.apache.commons.dbcp2.PoolableConnectionFactory.makeObject(PoolableConnectionFactory.java:357)  
at org.apache.commons.dbcp2.BasicDataSource.validateConnectionFactory(BasicDataSource.java:103)  
at org.apache.commons.dbcp2.BasicDataSource.createPoolableConnectionFactory(BasicDataSource.java:652)  
... 12 more  
Caused by: javax.net.ssl.SSLHandshakeException: The server selected protocol version TLS10 is not accepted by client preferences [TLS13, TLS12]  
at java.base/sun.security.ssl.Alert.createSSLException(Unknown Source)  
at java.base/sun.security.ssl.Alert.createSSLException(Unknown Source)  
at java.base/sun.security.ssl.TransportContext.fatal(Unknown Source)  
at java.base/sun.security.ssl.TransportContext.fatal(Unknown Source)  
at java.base/sun.security.ssl.TransportContext.fatal(Unknown Source)  
at java.base/sun.security.ssl.ServerHello$ServerHelloConsumer.onServerHello(Unknown Source)  
at java.base/sun.security.ssl.ServerHello$ServerHelloConsumer.consume(Unknown Source)  
at java.base/sun.security.ssl.SSLHandshake.consume(Unknown Source)  
at java.base/sun.security.ssl.HandshakeContext.dispatch(Unknown Source)  
at java.base/sun.security.ssl.HandshakeContext.dispatch(Unknown Source)  
at java.base/sun.security.ssl.TransportContext.dispatch(Unknown Source)  
at java.base/sun.security.ssl.SSLTransport.decode(Unknown Source)  
at java.base/sun.security.ssl.SSLSocketImpl.decode(Unknown Source)  
at java.base/sun.security.ssl.SSLSocketImpl.readHandshakeRecord(Unknown Source)  
at java.base/sun.security.ssl.SSLSocketImpl.startHandshake(Unknown Source)  
at java.base/sun.security.ssl.SSLSocketImpl.startHandshake(Unknown Source)  
at com.microsoft.sqlserver.jdbc.TDSChannel.enableSSL(IOBuffer.java:1839)  
... 21 more

8.1.19 (b2022072711)  
Azul Systems, Inc. 11.0.15

---

<div class="post-metadata">

**Author:** ![pturmel](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/pturmel/32/3295_2.png) [@pturmel](https://forum.inductiveautomation.com/u/pturmel)\
**Post date:** [April 28, 2023, 12:34pm UTC](https://forum.inductiveautomation.com/t/database-connectivity-issue/73018/2 "2023-04-28T12:34:39Z")

</div>

Old SQL Server. It wants TLS1.0, which is forbidden by all major software products due to security weakness.

The right answer is to upgrade that SQL Server to a modern, secure version.

The hack is to modify your `java.security` file to allow the bad protocol. Plenty of topics on that here.

---

<div class="post-metadata">

**Author:** ![Kevin.Herron](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/kevin.herron/32/7259_2.png) [@Kevin.Herron](https://forum.inductiveautomation.com/u/Kevin.Herron)\
**Post date:** [April 28, 2023, 12:34pm UTC](https://forum.inductiveautomation.com/t/database-connectivity-issue/73018/3 "2023-04-28T12:34:54Z")

</div>

It sounds like you’re connecting to an ancient version of SQL Server that doesn’t support at least TLS 1.2.

See [Error connection SQL Server database after upgrade Ignition - #2 by Kevin.Herron](https://forum.inductiveautomation.com/t/error-connection-sql-server-database-after-upgrade-ignition/53281/2) and [https://support.inductiveautomation.com/hc/en-us/articles/4417310204813-TLS-v1-0-and-v1-1-Microsoft-SQL-Server-Database-connection-issue](https://support.inductiveautomation.com/hc/en-us/articles/4417310204813-TLS-v1-0-and-v1-1-Microsoft-SQL-Server-Database-connection-issue)
