服务器之家:专注于VPS、云服务器配置技术及软件下载分享
分类导航

Mysql|Sql Server|Oracle|Redis|MongoDB|PostgreSQL|Sqlite|DB2|mariadb|Access|数据库技术|

服务器之家 - 数据库 - Sql Server - SpringBoot如何正确连接SqlServer

SpringBoot如何正确连接SqlServer

2023-04-04 13:51黄团团 Sql Server

这篇文章主要介绍了Springboot如何正确连接SqlServer本文有一定的参考价值,感兴趣的同学可以借鉴一下

一、正确的配置方式

 

第一种:

maven依赖

?
1
2
3
4
5
6
<!-- https://mvnrepository.com/artifact/net.sourceforge.jtds/jtds -->
<dependency>
    <groupId>net.sourceforge.jtds</groupId>
    <artifactId>jtds</artifactId>
    <version>1.3.1</version>
</dependency>

application.yml

?
1
2
3
4
5
6
spring:
  datasource:
    driverClassName: net.sourceforge.jtds.jdbc.Driver
    url: jdbc:jtds:sqlserver://ip地址:端口号;database=数据库名字
    username: 账号
    password: 密码

 

第二种: 

maven依赖

?
1
2
3
4
5
<dependency>
    <groupId>com.microsoft.sqlserver</groupId>
    <artifactId>sqljdbc4</artifactId>
    <version>4.0</version>
</dependency>

application.yml

?
1
2
3
4
5
6
spring:
  datasource:
    driver-class-name: com.microsoft.sqlserver.jdbc.SQLServerDriver
    url: jdbc:sqlserver://ip地址:端口号;database=数据库名字;encrypt=false
    username: 账号
    password: 密码

 

二、常见问题

 

1、驱动程序无法通过使用安全套接字层(SSL)加密与 SQL Server 建立安全连接

详细报错:

nested exception is org.apache.ibatis.exceptions.PersistenceException: ### Error querying database. Cause: org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connection; nested exception is com.microsoft.sqlserver.jdbc.SQLServerException: 驱动程序无法通过使用安全套接字层(SSL)加密与 SQL Server 建立安全连接。错误:“The server selected protocol version TLS10 is not accepted by client preferences [TLS12]”。 ClientConnectionId:91ed7412-600a-4739-b527-1c083c3aa53e ### The error may exist in com/ruoyi/project/oldoa/mapper/NewsMapper.java (best guess) ### The error may involve com.ruoyi.project.oldoa.mapper.NewsMapper.selectList ### The error occurred while executing a query ### Cause: org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connection; nested exception is com.microsoft.sqlserver.jdbc.SQLServerException: 驱动程序无法通过使用安全套接字层(SSL)加密与 SQL Server 建立安全连接。错误:“The server selected protocol version TLS10 is not accepted by client preferences [TLS12]”。 ClientConnectionId:91ed7412-600a-4739-b527-1c083c3aa53e

 这个问题是因为没有选用好idea的jdk工具包,之前我一直使用的是Oracle OpenJDK,应该选用红框当中的JDK开发工具包就好了,配置方式如下:

SpringBoot如何正确连接SqlServer

 

2、对象名 'DUAL' 无效

详细报错:

com.microsoft.sqlserver.jdbc.SQLServerException: 对象名 ‘DUAL‘ 无效。

 你应该使用了RuoYi的框架,全局搜索一下

?
1
validationQuery: SELECT 1 FROM DUAL

改成

?
1
validationQuery: SELECT 1

因为SQL server 没有对象DUAL,也就是这个语句在SQL server下面是不能运行的,所以报错了。

 

三、总结

以上就是我目前对于SpringBoot连接SqlServer的方式和常见的错误的汇总。

到此这篇关于SpringBoot如何正确连接SqlServer的文章就介绍到这了,更多相关SpringBoot连接SqlServer内容请搜索服务器之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持服务器之家!

原文链接:https://blog.csdn.net/HJW_233/article/details/126762301

延伸 · 阅读

精彩推荐