将 Spring Boot 从 1.x 升级到 2.x 后出现错误 com.microsoft.sqlserver.jdbc.SQLServerException: The "variant

Posted

技术标签:

【中文标题】将 Spring Boot 从 1.x 升级到 2.x 后出现错误 com.microsoft.sqlserver.jdbc.SQLServerException: The "variant" data type is not supported【英文标题】:After upgrading spring boot from 1.x to 2.x getting error com.microsoft.sqlserver.jdbc.SQLServerException: The "variant" data type is not supported 【发布时间】:2020-12-22 07:47:50 【问题描述】:
om.microsoft.sqlserver.jdbc.SQLServerException: The "variant" data type is not supported.
    at com.microsoft.sqlserver.jdbc.SQLServerException.makeFromDriverError(SQLServerException.java:191)
        at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.applyPropertyValues(AbstractAutowireCapableBeanFactory.java:1699)
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:1444)


将我的 Spring Boot 应用程序从 1.x 升级到 2.x 后出现上述错误

【问题讨论】:

【参考方案1】:

同时将驱动程序版本升级为最新版本。

<!-- https://mvnrepository.com/artifact/com.microsoft.sqlserver/mssql-jdbc -->
<dependency>
    <groupId>com.microsoft.sqlserver</groupId>
    <artifactId>mssql-jdbc</artifactId>
    <version>8.4.1.jre14</version>
</dependency>

【讨论】:

那行得通,但我必须使用 jre8 现在在 abc 上获取 Operator IN 需要一个 Collection 参数,在方法 public abstract java.util.List com.xyz.repositories.InfoRepositories 中找到类 java.lang.String .findByStatusIn(java.lang.String). 您可以通过添加相关代码来创建一个新问题。

以上是关于将 Spring Boot 从 1.x 升级到 2.x 后出现错误 com.microsoft.sqlserver.jdbc.SQLServerException: The "variant的主要内容,如果未能解决你的问题,请参考以下文章

将 Spring Boot 从 2.4.X 升级到 2.6.X 后无法运行我的 jar

将 Spring Boot 升级到 2.4.1

升级 Spring Boot

TypeNotPresentExceptionProxy,将Spring Boot Starter父级从2.1.8升级到2.2.1

Spring Boot 版本从 2.1.6 升级到 2.2.1 和 spring-cloud 问题

将 Spring Boot 2.3.5 升级到 2.4.0