繁体   English   中英

无法连接到 Azure SQL-Server:sun.security.validator.ValidatorException

[英]Unable to Connect to Azure SQL-Server: sun.security.validator.ValidatorException

创建了一台 Azure SQL 服务器计算机,我能够进行 rdp 以及通过本地 SQL Server Mgt Studio 客户端进行连接。

但是,我无法使用下面的连接字符串通过 Java 代码连接到同一实例。

  • 我正在使用最新的 JDBC 驱动程序(Microsoft JDBC 驱动程序 7.4)
  • 我正在使用 SQL Server 2017 Express
  • 我可以通过本地计算机上的 SQL Server Mgt Studio 客户端手动连接

这是错误消息:

com.microsoft.sqlserver.jdbc.SQLServerException:驱动程序无法使用安全 Sockets 层 (SSL) 加密与 SQL 服务器建立安全连接。 错误:“sun.security.validator.ValidatorException:PKIX 路径构建失败:sun.security.provider.certpath.SunCertPathBuilderException:无法找到请求目标的有效证书路径”。 客户端连接 ID:xxxxxxxxxxxxxxxxxx

这是连接字符串:

jdbc:sqlserver://Server=nn.nnn.nnn.nnn;集成安全性=false;用户 ID=我的用户名;密码=我的密码

谢谢你的帮助!

我通过更改连接字符串来实现这一点:

encrypt=true

进入

encrypt=false

不确定这是最好的解决方案,但至少我可以继续开发。

这似乎是由于驱动程序没有找到它信任的证书引起的。 如果您确实安装了相关证书并且正在本地主机上工作(这意味着它可能是自签名的,因此否则不会被信任),请尝试将其添加到连接字符串的末尾: trustServerCertificate=true

如果您使用的是另一台机器,您可能需要查看它应该使用的证书的有效性。

Microsoft 现在还在此处提供了有关 SSL 连接到 SQL 服务器的更多信息。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM