# SQL communication failed (JDBC Client)

**URL:** <https://forum.inductiveautomation.com/t/sql-communication-failed-jdbc-client/64007>\
**Category:** Ignition\
**Tags:** database, ignition81\
**Created:** [September 13, 2022, 1:20pm UTC](https://forum.inductiveautomation.com/t/sql-communication-failed-jdbc-client/64007 "2022-09-13T13:20:35Z")\
**Posts on this page:** 8\
**Page:** 1

<div class="post-metadata">

**Author:** ![Jose\_Ayude](https://avatars.discourse-cdn.com/v4/letter/j/f04885/32.png) [@Jose\_Ayude](https://forum.inductiveautomation.com/u/Jose_Ayude)\
**Post date:** [September 13, 2022, 1:20pm UTC](https://forum.inductiveautomation.com/t/sql-communication-failed-jdbc-client/64007/1 "2022-09-13T13:20:35Z")

</div>

Hi, i was trying to communicate to a SQL Server, and the JDBC client from Ignition throw an exception:

“Windows System event: An unknown connection request was received from a remote client application, but none of the cipher suites supported by the client application are supported by the server. The TLS connection request has failed.” – From Windows Log

I made several test, mostly to locate the problem, and i determined that the communication is using TLS 1.2 for two main reasons:

- Windows Server 2016 is configured by GPO to only admit TLS 1.0, TLS 1.1 and TLS 1.2. Not SSL.
- I also configured the Switch.System.Net.DontEnableSchUseStrongCrypto parameter, for the .NET SQL server, as recommended in: [Transport Layer Security (TLS) best practices with the .NET Framework - .NET Framework | Microsoft Docs](https://docs.microsoft.com/en-us/dotnet/framework/network-programming/tls), so my Server never tries to use SSL.

Is it possible that a low level network application blocks the communication for security reasons? (such as CISCO Umbrella, that has TLS 1.0 and TLS 1.1 as DEPRECATED) Maybe the Ignition JDBC client is trying to use these deprecated protocols and it’s labeled as insecure.

I’m out of options and need desperate help in any way possible. I need this data in my ignition enviroment.

---

<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:** [September 13, 2022, 1:26pm UTC](https://forum.inductiveautomation.com/t/sql-communication-failed-jdbc-client/64007/2 "2022-09-13T13:26:47Z")

</div>

What version of Ignition are you using? What is the error message from the Ignition database connection status?

---

<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:** [September 13, 2022, 1:28pm UTC](https://forum.inductiveautomation.com/t/sql-communication-failed-jdbc-client/64007/3 "2022-09-13T13:28:41Z")

</div>

You have most likely misdiagnosed this, and the problem is that Ignition _only_ supports TLS 1.2 or 1.3, while your instance of SQL Server needs to be upgraded to support TLS 1.2.

> **[KB3135244 - TLS 1.2 support for Microsoft SQL Server](https://support.microsoft.com/en-us/topic/kb3135244-tls-1-2-support-for-microsoft-sql-server-e4472ef8-90a9-13c1-e4d8-44aad198cdbe)**
>
> Describes TLS 1.2 that is supported by SQL Server.

---

<div class="post-metadata">

**Author:** ![Jose\_Ayude](https://avatars.discourse-cdn.com/v4/letter/j/f04885/32.png) [@Jose\_Ayude](https://forum.inductiveautomation.com/u/Jose_Ayude)\
**Post date:** [September 13, 2022, 4:18pm UTC](https://forum.inductiveautomation.com/t/sql-communication-failed-jdbc-client/64007/4 "2022-09-13T16:18:26Z")

</div>

Hi Kevin! Thanks a lot for answering.  
I’m using Ignition 8.1.18.

The SQL server is Osisoft-PI RTQP (DAS). It’s a .net application that supports TSL 1.2, and i’ve checked the datagrams with Windows Network Monitor. It actually IS using TLS 1.2, sends and receive the “TLS client hello” & “TLS server hello” (to another remote client that it’s not ignition), but with IGNITION, the server never replies back with “TLS server hello”.

AND i have the error message from windows log with ignition. So this actually IS a client side (IGNITION) problem

---

<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:** [September 13, 2022, 4:21pm UTC](https://forum.inductiveautomation.com/t/sql-communication-failed-jdbc-client/64007/5 "2022-09-13T16:21:09Z")

</div>

I saw you have a support ticket open, so you’ll probably just have to continue working with them.

A Wireshark capture to look at the TLS handshake negotiation will probably be useful. I think there was another similar issue to this that was never resolved, and the only difference we could see in captures between Ignition and something else that worked was that Ignition advertised support for both TLS 1.2 and 1.3 in the connection setup, where the other application only advertised TLS 1.2 support, and for some reason that resulted in no response from the server (or an explicit connection close, can’t remember).

---

<div class="post-metadata">

**Author:** ![Jose\_Ayude](https://avatars.discourse-cdn.com/v4/letter/j/f04885/32.png) [@Jose\_Ayude](https://forum.inductiveautomation.com/u/Jose_Ayude)\
**Post date:** [September 14, 2022, 6:21pm UTC](https://forum.inductiveautomation.com/t/sql-communication-failed-jdbc-client/64007/6 "2022-09-14T18:21:15Z")

</div>

Thanks, that may come in handy.

I will add further comments in this post, just in case i make any progress with my problem.

---

<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:** [September 14, 2022, 7:25pm UTC](https://forum.inductiveautomation.com/t/sql-communication-failed-jdbc-client/64007/7 "2022-09-14T19:25:04Z")

</div>

I will also add:

In the captures from the other ticket, in the capture of the successful application, we took note of the cipher suite chosen by the server, and then verified that in the capture of unsuccessful connection attempt by Ignition that the same cipher suite is among those offered as options. That, plus the way the server behaved by just closing the connection, definitely made it look like an issue on the server side.

I think the other customer had reached out to OSI but I’m not sure anything ever happened.

---

<div class="post-metadata">

**Author:** ![Jose\_Ayude](https://avatars.discourse-cdn.com/v4/letter/j/f04885/32.png) [@Jose\_Ayude](https://forum.inductiveautomation.com/u/Jose_Ayude)\
**Post date:** [October 3, 2022, 2:01pm UTC](https://forum.inductiveautomation.com/t/sql-communication-failed-jdbc-client/64007/8 "2022-10-03T14:01:00Z")

</div>

So, after consulting with IT and cybersecurity teams, we got both the server and IGNITION JDBC client for mySQL out of the GPO and domain.

We managed the windows registrys and got it working WITHOUT TLS 1.3. We forced the Ignition application to use TLS 1.2, but actually it uses the highest available option in the OS.

I'll come back after a few more tests
