我想从 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:驱动程序无法使用安全套接字层 (SSL) 加密建立与 SQL Server 的安全连接。错误:“java.security.cert.CertificateException:在安全套接字层 (SSL) 初始化期间无法验证证书中的服务器名称。服务器名称为 *.database.windows.net,证书中的名称为 data.am2- 1.database.windows.net。
然后,如果我将 *.database.windows.net 更改为 data.am2-1.database.windows.net,正如它在异常中所说的那样,它工作正常。
那么设置这个名字有问题吗?我觉得如果它是默认的通配符,那么它可能会改变?当它发生时,我认为我将无法再连接。其他人遇到过这个问题吗?我正在使用我能找到的用于 SQL Server 的最新 jdbc 驱动程序。