使用JTDS驱动程序

Rom*_*man 10 sql-server jtds jdbc

我有一个情况.我有一个几乎准备好发布(在2个月内发布)的应用程序,它在microsoft Sql-Server数据库上运行查询.我们使用sql-server的标准Microsoft jdbc驱动程序实现.效果很好,没问题.

现在有一个开发人员给我说我应该将我们的默认jdbc实现切换到JTDS驱动程序实现.

我在网上读了一些关于驱动程序及其基准测试的信息等等,而且看起来微软的驱动程序看起来好一点.

但考虑到发布很快,驱动程序是开源和所有其他我现在都没有想到的东西,你会投入时间来进行切换吗?

ars*_*ars 8

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

但是,在您的情况下,如果您有一个使用MS JDBC驱动程序构建和测试的系统,那么您真的应该坚持这一点.

与此同时,进行一些测试,看看你是否可以收集显示JTDS的硬数据,以表明你的用例的MS JDBC.如果数据备份了这些断言,那么就会计划在开发和测试周期中开始使用JTDS,最后将其推广到生产版本.


fer*_*olo 8

我们使用jTDS驱动程序大约一年.截至今天,我可以告诉以下内容:

优点:

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

缺点:

  • 支持不佳,原因如下:
    • 相对较小的用户群,给予糟糕的社区支持.
    • 没有一家大公司支持,所以如果您需要快速解决方案,您必须希望开发人员可以并且愿意提供帮助(并且记住他们不会因为回答论坛消息而获得报酬).
  • 由于MS SQL Server协议具有许多专有部分,因此当您在服务器上应用维护更新时,MS可以执行破坏jTDS的更改.
  • 不像MS驱动程序那样是最新的.当MS启动新的SQL Server版本时,JDBC驱动程序通常一起发布.jTDS必须努力赶上,这可能需要数月.


gbn*_*gbn 7

接近发布,没有.

以后再做,是的.

JTDS具有优于MS的优点,例如您可以使用域服务帐户进行SQL连接并支持加密的SSL.