11

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

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

我在网上阅读了一些关于驱动程序及其基准测试等的信息,它似乎确实比微软的驱动程序好一点。

但是考虑到即将发布,并且驱动程序是开源的,以及我目前还没有想到的所有其他东西,您会花时间进行转换吗?

4

3 回答 3

8

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

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

同时,进行一些测试,看看您是否可以收集硬数据,证明 JTDS 在您的用例中优于 MS JDBC。如果数据支持这些断言,那么制定一个计划,在您的开发和测试周期中开始使用 JTDS,最终将其推广到您的生产版本中。

于 2009-07-27T07:47:30.680 回答
8

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

优点:

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

缺点:

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

即将发布,不。

以后再做,是的。

JTDS 比 MS 有一些好处,例如您可以使用域服务帐户进行 SQL 连接并支持加密 SSL。

于 2009-07-27T08:02:51.990 回答