全栈:JDBC驱动版本和SQLserver版本是否有关系?怎么选择JDBC的版本号?

研究ssm项目的pom.xml文件的时候发现,jdbc数据库连接和SQLserver的版本是否有关系,jdbc驱动应该下载哪个版本的。整理了一些资料,记录下来。

问题1:这两张图的版本号有什么关系?

图1:

图2:

第一个版本号(12.6.4.jre11)是Microsoft SQL Server JDBC驱动的版本。这个驱动用于Java应用程序连接SQL Server数据库。

第二个版本号(10.50.1600.1)是SQL Server Native Client(也称为SNAC)的版本。Native Client是一个独立的API,用于访问SQL Server数据库,通常被ODBC和OLE DB应用程序使用。

它们之间的关系:

  1. 属于不同的组件:
    • JDBC驱动:专为Java程序提供连接。
    • Native Client:为C/C++等本地应用程序提供连接(通过ODBC/OLE DB)。
  2. 版本号没有直接对应关系:
    • JDBC驱动的版本号(如12.6.4)是独立发展的,与SQL Server数据库的版本号不同。
    • Native Client的版本号(10.50.1600.1)与SQL Server数据库的版本号一致(10.50对应SQL Server 2008 R2)。

这两个版本号属于不同组件,它们之间没有直接对应关系。

问题2:怎么选择JDBC的版本号?(一般情况下看jre就可以了)

适用于 SQL Server 的 Microsoft JDBC 驱动程序支持矩阵
JDBC驱动程序的系统要求

下载链接:Microsoft JDBC Driver For SQL Server

适用于 SQL Server 的 Microsoft JDBC 驱动程序

核心兼容性矩阵 (mssql-jdbc)

mssql-jdbc 驱动版本 支持的 SQL Server 版本 支持的 Java 版本 (JRE) 重要特性/变化说明
12.4.x (最新稳定) 2008+ (建议 2012 SP3+) Azure SQL DB 8, 11, 17 持续维护更新,修复 Bug,增强安全性。强烈推荐使用此版本线。
11.2.x 2008+ (建议 2012 SP3+) Azure SQL DB 8, 11 LTS (长期支持) 版本线。接收关键安全更新。
10.2.x 2008+ (建议 2012 SP3+) Azure SQL DB 8
9.4.x 2012+ Azure SQL DB 8 停止支持: 2023 年 1 月 31 日。不再推荐使用。
9.2.x 2008+ (建议 2012+) Azure SQL DB 7, 8 停止支持: 2022 年 6 月 30 日。不再推荐使用。
8.4.x 2012+ Azure SQL DB 8 停止支持: 2021 年 7 月。不再推荐使用。
8.2.x 2008+ (建议 2012+) Azure SQL DB 7, 8 停止支持: 2021 年 1 月。不再推荐使用。
7.4.x 2012+ Azure SQL DB 8 停止支持: 2020 年 7 月。不再推荐使用。
7.2.x 2008+ (建议 2012+) Azure SQL DB 7, 8 停止支持: 2020 年 2 月。不再推荐使用。
6.4.x 2008+ (建议 2012+) Azure SQL DB 7, 8 停止支持: 2019 年 7 月。不再推荐使用。首次使用 mssql-jdbc 名称。

如果有大神,请帮忙指点一下。

相关推荐
望获linux20 小时前
【Linux基础知识系列:第一百四十篇】理解SELinux与系统安全
linux·运维·服务器·数据库·chrome·macos
卷Java21 小时前
CSS模板语法修复总结
java·前端·css·数据库·微信小程序·uni-app·springboot
豆豆豆大王21 小时前
头歌Kingbase ES内连接、外连接查询
大数据·数据库·elasticsearch
muxin-始终如一21 小时前
MySQL与Redis面试问题详解
数据库·redis·mysql
歪歪10021 小时前
如何在SQLite中实现事务处理?
java·开发语言·jvm·数据库·sql·sqlite
瑶总迷弟21 小时前
静默安装 Oracle Database 21c on CentOS 7.6
数据库·oracle·centos
博睿谷IT99_1 天前
SQL SELECT 语句怎么用?COMPANY 表查询案例(含条件 / 模糊 / 分页)
数据库·sql·mysql
浅拾光º1 天前
mysql字符串截取,如何在MySQL备份文件中安全截取敏感字符串?
数据库·mysql·安全
鸠摩智首席音效师1 天前
如何删除 MySQL 数据库中的所有数据表 ?
数据库·mysql·oracle
Hey! Hey!1 天前
DBA 系统学习计划(从入门到进阶)
数据库·学习·dba