The driver could not establish a secure connection to SQL Server by using Secure Sockets Layer (SSL) encryption. Error: "sun.security.validator.ValidatorException: PKIX path building failed:
项目背景:
Springboot + mybatis+sqlserver+druid
多数据源配置如下: 用的是微软驱动
lorealparism: driver-class-name: net.sourceforge.jtds.jdbc.Driver url: jdbc:jtds:sqlserver://XXXXXX:1433;DatabaseName=LOREALPARIS_PROD;encrypt=false; username: XXXXX password: XXXX hikari: maxPoolSize: 15
pom
<!-- druid连接池 -->
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>druid</artifactId>
<version>2.2.5</version>
反正就是2.几的版本
</dependency>
<!-- <dependency>-->
<!-- <groupId>com.microsoft.sqlserver</groupId>-->
<!-- <artifactId>mssql-jdbc</artifactId>-->
<!-- <version>11.2.1.jre8</version>-->
<!-- </dependency>-->
经过:
本地测试都是好好的,已发到linux 服务商就报错了。
The driver could not establish a secure connection to SQL Server by using Secure Sockets Layer (SSL) encryption. Error: "sun.security.validator.ValidatorException: PKIX path building failed:
解决:
1 改动jdk 信任证书
有些人改动 jdk 配置就能生效,我这里试验了 ,对我来说无效。
http://t.zoukankan.com/blsz-p-11530380.html
2 更改驱动
driver-class-name: net.sourceforge.jtds.jdbc.Driver url: jdbc:jtds:sqlserver://;DatabaseName=LOREALPARIS_TAB username: password:
把微软的pom 删了,换成如下
pom 文件:
<dependency>
<groupId>net.sourceforge.jtds</groupId>
<artifactId>jtds</artifactId>
<version>1.2.4</version>
</dependency>
部分人到此为止,有成功得了 ,但是我这边仍然报错。
3 数据源 duri 版本问题
又有这个问题:
java.sql.SQLException: The SQL statement must not be null or empty
查询了很多了,这里把版本降低到1.1.6之下就行了
<dependency> <groupId>com.alibaba</groupId> <artifactId>druid</artifactId> <version>1.1.5</version> </dependency>