Issue Summary

When I try to connect Redash to Microsoft SQL Server 2019, I got an error saying “Unrecognized tds version”.

As long as I can see here, the compatibility of TDS versions depends on pymssql.

The latest version of Redash (v8) has a dependency on pymssql 2.1.3.
I upgraded pymssql to the latest version (2.1.4) in the Redash server then it worked well with TDS version 7.3.
But what I wanted to do is making Redash compatible with TDS version 7.4 to connect with Microsoft SQL Server 2019.

The thing is that the pymssql project is being discontinued.


It means that Redash will not be compatible with the TDS versions above 7.3 as long as it continues using pymssql.

Are there any plans to make Redash compatible with the TDS version above 7.3 by using another library?
Or is there any way to make Redash compatible with the TDS version 7.4 right now?

Technical details:

  • Redash Version: 7.0.0
  • OS: CentOS Linux release 7.6.1810 (Core)
  • How did you install Redash: with the official procedure using Docker

Thanks for your detailed writeup. This has been solved. The forthcoming V9 release adds a pyodbc query runner for MSSQL which supports newer versions of TDS. The pymssql runner will be removed down the road.

Meanwhile, your workaround of updating the version in your local instance is a good bandaid until V9 is released (TBD).

Thanks for your quick reply. I am glad to hear that the newer version of Redash is compatible with newer versions of TDS.

Meanwhile, your workaround of updating the version in your local instance is a good bandaid until V9 is released (TBD).

Let me just make sure if I got it right. You mean that my workaround of updating the version of pymssql is a good bandaid for TDS version 7.3. As the latest pymssql is not compatible with TDS version 7.4, there is nothing I can do for TDS version 7.4. Did I get it right?