gpt4 book ai didi

jdbc - 使用 JDBC 使用默认连接字符串(管理控制台要求使用的字符串)连接到 Azure SQL 时发生证书异常

转载 作者:行者123 更新时间:2023-12-02 06:52:19 27 4
gpt4 key购买 nike

我想要从 jdbc 连接到 Azure SQL Server。

我从 azure 管理控制台复制连接字符串。它是这样的:

jdbc:sqlserver://XXXX.database.windows.net:1433;database=YYYY;user=ZZZZZ@XXXX;password=PPPPPPPPPPP;encrypt=true;hostNameInCertificate=*.database.windows.net

当我尝试使用此值连接时,出现以下错误:

com.microsoft.sqlserver.jdbc.SQLServerException: The driver could not establish a secure connection to SQL Server by using Secure Sockets Layer (SSL) encryption. Error: "java.security.cert.CertificateException: Failed to validate the server name in a certificate during Secure Sockets Layer (SSL) initialization. The server name is *.database.windows.net, the name in certificate is data.am2-1.database.windows.net.

然后,如果我将 *.database.windows.net 更改为 data.am2-1.database.windows.net,如异常中所述,它可以正常工作。

那么这个名字设置有问题吗?我觉得如果它是默认的通配符那么它可能会改变?当它发生时,我认为我将无法再连接。其他人遇到过这个问题吗?我正在使用我能找到的最新的 SQL Server jdbc 驱动程序。

最佳答案

事实证明,将 sql server jdbc 版本升级到版本 4.0 解决了该问题。

关于jdbc - 使用 JDBC 使用默认连接字符串(管理控制台要求使用的字符串)连接到 Azure SQL 时发生证书异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11755951/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com