在使用4.0驱动连接sqlserverl2014版本时报了一个错误
Caused by: sun.security.validator.ValidatorException: PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target
at sun.security.validator.PKIXValidator.doBuild(PKIXValidator.java:397) ~[na:1.8.0_152]
at sun.security.validator.PKIXValidator.engineValidate(PKIXValidator.java:302) ~[na:1.8.0_152]
at sun.security.validator.Validator.validate(Validator.java:260) ~[na:1.8.0_152]
at sun.security.ssl.X509TrustManagerImpl.validate(X509TrustManagerImpl.java:324) ~[na:1.8.0_152]
at sun.security.ssl.X509TrustManagerImpl.checkTrusted(X509TrustManagerImpl.java:229) ~[na:1.8.0_152]
at sun.security.ssl.X509TrustManagerImpl.checkServerTrusted(X509TrustManagerImpl.java:105) ~[na:1.8.0_152]
at com.microsoft.sqlserver.jdbc.TDSChannel$HostNameOverrideX509TrustManager.checkServerTrusted(IOBuffer.java:1702) ~[mssql-jdbc-10.2.1.jre8.jar:na]
at sun.security.ssl.AbstractTrustManagerWrapper.checkServerTrusted(SSLContextImpl.java:985) ~[na:1.8.0_152]
at sun.security.ssl.ClientHandshaker.serverCertificate(ClientHandshaker.java:1496) ~[na:1.8.0_152]
... 87 common frames omitted
原因是 新版的sqlserver jdbc驱动默认要求使用ssl链接来保证安全性
需要在配置文件中添加如下配置:trustServerCertificate=true
spring.datasource.url=jdbc:sqlserver://localhost:1433;database=XXX;trustServerCertificate=true