Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

What are the advantages or disadvantages of switching to JTDS driver from Microsoft jdbc driver? [closed]

I have here a situation. I have a almost release ready (release in 2 month) application that runs queries on the microsoft Sql-Server database.We use the standard Microsoft jdbc driver implementation for sql-server. Works great,no problems.

Now there come a developer to me and says that i we should switch our default jdbc implementation to the the JTDS driver implementation.

I read in the web a little about the driver and its benchmarks and so on , and it really seems to perform a little better the the driver from Microsoft.

But taking in consideration the release soon and that the driver is opensource and all the other stuff that i currently dont think of it right now , would you invest your time to make the switch?

like image 693
Roman Avatar asked Jul 27 '09 07:07

Roman


2 Answers

I've used the JTDS driver in production for around a year without any problems.

However, in your case, if you've got a system that been built and tested with the MS JDBC driver, then you really ought to stick to that.

In the meantime, conduct some tests and see if you can collect hard figures that show JTDS outperforming MS JDBC for your use cases. If the data back up these assertions, then come up with a plan to start using JTDS in your development and test cycles, finally rolling it out to your production release.

like image 59
ars Avatar answered Oct 31 '22 12:10

ars


We are using jTDS drivers for about an year. As of today, I can tell the following:

Pros:

  • Smaller JAR.
  • ResultSets are faster. Fetching is configurable.
  • Caches huge results on disk (MS driver requires you to use slow bidirectional cursors or caches results on memory, yielding occasional OutOfMemoyErrors).
  • Documentation is small but enough (MS driver documentation is spread in hundreds of MSDN pages).
  • Better error reporting (always a nice SQLException, while MS driver sometimes gives ClassCastException or other RuntimeException).
  • Open source.

Cons:

  • Bad support, due to:
    • Relatively small user base, giving bad community support.
    • Not backed by a big company, so if you need some solution fast, you must hope the developers are available and willing to help (and remember they are not paid for answering forums messages).
  • Because MS SQL Server protocol has many proprietary parts, MS can perform changes that break jTDS when you apply maintenance updates on the server.
  • Not as up-to-date as the MS driver. When MS launches a new SQL Server version, the JDBC drivers are usually released together. jTDS must work to catch up and that may take months.
like image 8
fernacolo Avatar answered Oct 31 '22 12:10

fernacolo