«

SpringBoot怎么正确连接SqlServer

时间:2024-7-15 09:03     作者:韩俊     分类: Mysql


这篇文章主要介绍“SpringBoot怎么正确连接SqlServer”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“SpringBoot怎么正确连接SqlServer”文章能帮助大家解决问题。

    一、正确的配置方式

    第一种:

    maven依赖

    <!-- 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

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

    第二种: 

    maven依赖

    <dependency>
        <groupId>com.microsoft.sqlserver</groupId>
        <artifactId>sqljdbc4</artifactId>
        <version>4.0</version>
    </dependency>

    application.yml

    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开发工具包就好了,配置方式如下:

    2、对象名 'DUAL' 无效

    详细报错:

    com.microsoft.sqlserver.jdbc.SQLServerException: 对象名 &lsquo;DUAL&lsquo; 无效。

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

    validationQuery: SELECT 1 FROM DUAL

    改成

    validationQuery: SELECT 1

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

    标签: mysql

    热门推荐