使用JTDS驱动程序

时间:2009-07-27 07:43:27

标签: sql-server jdbc jtds

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

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

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

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

3 个答案:

答案 0 :(得分:8)

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

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

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

答案 1 :(得分:8)

我们正在使用jTDS驱动程序大约一年。截至今天,我可以说出以下内容:

优点:

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

缺点:

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

答案 2 :(得分:7)

关闭发布,没有。

稍后再做,是的。

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