ms sql microsoft 的 jdbc 驱动程序和 jTDS 的驱动程序之间的差异

2022-09-01 08:57:20

每个驱动程序之间有什么区别?我的意思是,除了其中一个是开源的

每种方法的优缺点是什么?

你会推荐哪一个?


以下是jTDS自己对这个问题的看法:http://jtds.sourceforge.net/


答案 1

它们是不同的实现。jTDS 驱动程序是类型 4,根据我的经验,它具有更好的性能。我已经在生产环境中使用jTDS驱动程序5年了,没有任何问题。

我建议使用jTDS。


答案 2

虽然多年来jTDS比有缺陷的mssql自己的驱动程序优越得多,但最近情况正朝着相反的方向发展。

以下是 https://confluence.atlassian.com/bitbucketserver/transitioning-from-jtds-to-microsoft-s-jdbc-driver-776640388.html 的qoute:

为什么要更换驱动程序?

Bitbucket Server用来简化其持久性层的Hibernate最近发布的Hibernate引入了一项要求,即所使用的JDBC驱动程序和连接池符合JDBC4。JDBC4 是随 Java 6 一起引入的。

Bitbucket Server 2.1 之前的版本使用的 jTDS 驱动程序是 JDBC3 驱动程序,与 Java 1.3 兼容,因此不能与较新版本的 Hibernate 一起使用。虽然 jTDS 1.3.0 和 1.3.1 声称可以实现 JDBC4 和 JDBC4.1,但实际上它们并没有。新方法已经“实现”,但它们的实现都是新的 AbstractMethodError(),这意味着它们实际上不能被使用。(请参阅 GitHub 上的示例

由于jTDS 1.3.1不提供正常运行的JDBC4实现,因此决定用微软自己的SQL Server驱动程序替换jTDS。微软的驱动程序得到了积极的维护,其中jTDS自2014年以来一直没有更新(在2014年完成的小型更新之前,它已经多年没有更新了)。Microsoft 提供完整的 JDBC4.2 (Java 8) 驱动程序,并支持 SQL Server 的所有功能,包括 SQL Server 2016。


推荐