gpt4 book ai didi

java - Java 8 上的 SQL Server JDBC 错误 : The driver could not establish a secure connection to SQL Server by using Secure Sockets Layer (SSL) encryption

转载 作者:IT老高 更新时间:2023-10-28 21:18:49 25 4
gpt4 key购买 nike

使用 Microsoft JDBC Driver 版本连接到 SQL Server 数据库时出现以下错误:

com.microsoft.sqlserver.jdbc.SQLServerException: The driver could not establish a secure connection to SQL Server by using Secure Sockets Layer (SSL) encryption. Error: "SQL Server returned an incomplete response. The connection has been closed. ClientConnectionId:98d0b6f4-f3ca-4683-939e-7c0a0fca5931".

我们最近将应用程序从 Java 6 和 Java 7 升级到 Java 8。所有运行 Java 的系统都在运行 SUSE Linux Enterprise Server 11 (x86_64),VERSION = 11,PATCHLEVEL = 3。

以下是我使用我编写的 Java 程序收集的事实,该程序只是按顺序打开和关闭 1,000 个数据库连接。

  • 大约 5%-10% 的时间连接会因此错误而中断。错误不会发生在每个连接上。
  • 该问题仅出现在 Java 8 上。我在 Java 7 上运行了相同的程序,但该问题无法重现。这与我们升级前的生产经验一致。我们在生产环境中在 Java 7 下运行时遇到了零问题。
  • 这个问题不会出现在我们所有运行 Java 8 的 Linux 服务器上,它只会出现在其中的一些服务器上。这让我很困惑,但是当我在不同 Linux 实例上的相同版本的 Linux JVM(1.8.0_60,64 位)上运行相同的测试程序时,在其中一个 Linux 实例上不会出现问题,但是问题确实发生在其他人身上。 Linux 实例运行相同版本的 SUSE,并且处于相同的补丁级别。
  • 同时连接到 SQL Server 2008 和 SQL Server 2014 服务器/数据库时会出现此问题。
  • 无论我使用的是 4.0 版本的 SQL Server JDBC 驱动程序还是更新的 4.1 版本的驱动程序,都会出现此问题。

与网络上的其他人相比,我对此的观察与众不同的是,尽管问题仅发生在 Java 8 上,但我无法在运行相同 Java 的看似相同的 Linux 服务器之一上发生问题8 虚拟机。其他人也曾在早期版本的 Java 上看到过这个问题,但我们的经验并非如此。

感谢您提出的任何意见、建议或意见。

最佳答案

您的网址应该如下所示并添加 sql sqljdbc42.jar。这将解决您的问题

url = "jdbc:sqlserver://" +serverName + ":1433;DatabaseName=" + dbName + ";encrypt=true;trustServerCertificate=true;

关于java - Java 8 上的 SQL Server JDBC 错误 : The driver could not establish a secure connection to SQL Server by using Secure Sockets Layer (SSL) encryption,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32766114/

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