What are the differences between each driver? I mean, besides one of them being open-source
What are the pros / cons of each one?
Which one would you recomme
The key reason FOR using jTDS is that it uses the lesser GPL license where Microsoft's driver uses their own license which has much more restrictions to it. One restriction of note is that you may not
- work around any technical limitations in the software
There are more restrictions within the license such as:
- transfer the software or this agreement to any third party
- use the software for commercial software hosting services
Which could be interpreted that you may not use it in production code, however earlier points in the license seem to allow it.
Having said all of this, I don't know of the licenses within SQL Server itself which may or may not restrict third-party drivers such as jTDS connecting to it.
Another point is that jTDS is available via maven, the Microsoft driver is not.
net.sourceforge.jtds jtds
1.3.1
For my choice, use jTDS, it is more permissive and least likely to get you into trouble, and; it's a better driver.