2009-07-27 125 views
10

我在这里有一种情况。我准备好了几个发布版本(在2个月内发布),在Microsoft SQL Server数据库上运行查询。我们使用标准的Microsoft jdbc驱动程序实现sql-server。工作很好,没有问题。使用JTDS驱动程序

现在有一位开发人员对我说,我应该将我们的默认jdbc实现切换到JTDS驱动程序实现。

我在网上读了一些关于驱动程序及其基准测试等内容,而且它看起来确实比微软的驱动程序稍微好一些。

但考虑到很快就会发布,并且驱动程序是开源的,以及我目前没有想到的所有其他内容,您是否会投入时间进行切换?

回答

8

我已经在生产中使用了JTDS驱动程序大约一年没有任何问题。

但是,就你的情况而言,如果你有一个已经构建并使用MS JDBC驱动程序进行测试的系统,那么你确实应该坚持这一点。

与此同时,进行一些测试,看看您是否可以收集显示JTDS性能优于您的用例的MS JDBC的硬性数据。如果数据支持这些断言,那么就会提出一个在开发和测试周期中开始使用JTDS的计划,最后将其推广到您的产品发布版。

7

靠近释放,没有。

以后做,是的。

JTDS比MS更有优势,例如您可以为SQL连接使用域服务帐户并支持加密的SSL。

8

我们使用jTDS驱动程序大约一年。到今天为止,我可以跟以下:

优点:

  • 较小的JAR。
  • ResultSets更快。提取是可配置的。
  • 在磁盘上缓存巨大结果(MS驱动程序要求您使用缓慢的双向游标或在内存上缓存结果,产生偶尔出现的OutOfMemoyErrors)。
  • 文档虽小但足够(MS驱动程序文档分布在数百个MSDN页面中)。
  • 更好的错误报告(总是一个很好的SQLException,而MS驱动程序有时会给出ClassCastException或其他RuntimeException)。
  • 开源。

缺点:

  • 坏的支持,原因是:
    • 相对较小的用户群,让坏的社会支持。
    • 没有得到大公司的支持,所以如果你需要快速的解决方案,你必须希望开发人员能够并愿意帮助(并且记住他们没有为回答论坛消息付费)。
  • 由于MS SQL Server协议有许多专有部分,当您在服务器上应用维护更新时,MS可以执行更改以打破jTDS。
  • 不像MS驱动程序那样最新。当MS启动新的SQL Server版本时,JDBC驱动程序通常会一起发布。 jTDS必须努力赶上,这可能需要几个月。
+1

我不同意一个相对较小的用户群,我工作过的每个公司都使用jTDS而不是MSSQL JDBC驱动程序。 – mjaggard 2013-09-02 12:00:35

相关问题