Sun JDBC ODBC驱动程序或MSSQL JDBC驱动程序

问题描述:

我们有两种连接MSSQL数据库的方法,一种是Sun JDBC ODBC桥,另一种是MSSQL JDBC驱动程序。Sun JDBC ODBC驱动程序或MSSQL JDBC驱动程序

我们正在进行一些重组,希望统一数据库连接方法。

我们应该使用哪个驱动程序?我很想留下一个非常广泛的问题,我想听听人们的意见是什么)

除了原型设计和快速开发之外,Sun的桥接驱动程序不应该用于其他任何事情。

如果可用,应始终使用IV类JDBC驱动程序。有两个我知道的SQL Server:Microsoft's versionjTDS

即使是Sun/Oracle也这么说。这是从他们docs

如果可能的话,使用纯Java JDBC驱动程序代替桥和 ODBC驱动程序。这完全消除了ODBC所需的客户端配置 。它还消除了Java VM 可能会由于桥接器(即桥本机库,ODBC驱动程序管理器 库,ODBC驱动程序库和数据库)带来的本机代码中的错误而损坏客户端库)。

JDBC-ODBC Bridge驱动程序建议用于原型设计 的工作以及不存在其他基于JDBC技术的驱动程序 的情况。如果商用的全Java Java JDBC驱动程序可用,我们建议使用 而不是Bridge。

使用微软提供的MSSQL Type 4 JDBC driverjTDS driver。在撰写本文时,Microsoft提供的MSSQL JDBC驱动程序版本为3.0,尽管版本4可用作预览版本。

避免使用Sun JDBC ODBC驱动程序,因为它确实是连接到机器中安装的ODBC驱动程序的桥梁。已在*上询问了至少为什么要使用类型4驱动程序而不是类型1(ODBC桥)或类型2(基于JNI)的驱动程序时,至少要有one question

要添加到该问题中发布的答案,类型1(ODBC驱动程序桥接)将被避免,除非您无法从供应商处找到JDBC驱动程序。毕竟,依赖于供应商提供的ODBC驱动程序以及Sun JDBC-ODBC驱动程序并没有任何商业意义;生产中遇到的任何错误都可能在两者中。因此,如果您为业务线应用程序做出此决定,则应该使用经过良好测试的第三方JDBC驱动程序(如jTDS或DataDirect)或供应商提供的驱动程序(除非您的经验表明驱动程序写得不好或供应商无法在足够的时间内解决问题或提供解决方法)。

也有OpenLink Multi-tier JDBC Driver for SQL Server ...

此驱动程序有它的地方 - 当需要额外的安全性和可配置性。