0

What is the relationship between https://www.npmjs.com/package/msnodesqlv8 and https://www.npmjs.com/package/mssql?

The documentation is confusing and I can interpret it a few different ways.

Sebastian Patten
  • 7,157
  • 4
  • 45
  • 51

1 Answers1

3

msnodesqlv8

This library has full compatibility with MS SQL Server using an MS ODBC driver. Many functions e.g. open, query, connection pool, prepare, transactions, close will work with any ODBC compatible driver with its respective database.

mssql uses Tedius which is:

Tedious is a pure-Javascript implementation of the TDS protocol, which is used to interact with instances of Microsoft's SQL Server. It is intended to be a fairly slim implementation of the protocol, with not too much additional functionality.

So one is a wrapper around the official Microsoft supported ODBC driver, but requires installing that ODBC driver in your OS or container, while the other is a wrapper around a pure-Javascript TDS client so you can add it purely through NPM, but which is not an official Microsoft driver, even though there are some Microsoft/Github contributors.

You should expect that Tedius may lack support for the very latest TDS protocol versions and for some less-used features of the TDS protocol, and that you won't be able to open a Microsoft support case for any issues you find; those would go to the Github repo to be addressed by the community.

David Browne - Microsoft
  • 80,331
  • 6
  • 39
  • 67