Ancient JDBC driver for MSSQL on Docker version

EDIT: The whole trouble was caused by restoring an old gateway backup and has nothing to do with the docker image as such.

Hi everybody,

I spent a few days looking for the issue that caused Ignition in Docker (8.1.42) to not connect to the MSSQL Server (2022) on the Windows 11 host (no appropriate protocol error). I read all the articles and forum posts available on this topic, but nothing helped. I thought the issue was caused by running Docker in a Hyper-V VM and that the virtual network was somehow misconfigured.

Recently, I found out that the default JDBC driver for MSSQL in the latest Docker image (8.1.42) is outdated: sqljdbc4.jar.

I wasn't expecting it, and I checked it as the very last option (my fault). As soon as i enabled the tls 1.1 and 1.2 in java.security, it started to work. I also installed the same Ignition version on the host (Windows 11), and it connected to the same MSSQL server without any issues. This made me even more confused until I discovered that the JDBC driver on the host was up-to-date: mssql-jdbc-9.4.0.jre11.jar.

Here is a screenshot from Docker:

I am posting this here to save time for others. It would probably be great to update the Docker image as well.

I think you'll find it was the JDBC driver in the backup you restored that was out of date, not the one in the docker image.

Well, 9.4 is also quite old. If you are trying to keep support for SQL Server 2012, the better driver would be 10.2. I think the user should be responsible for downgrading for older databases, not upgrading for newer.

IA should ship mssql-jdbc-12.8, IMNSHO.

Yeah, you're absolutely right, my apologies, i didn't realize this. Thanks for clarifying it.