KB2653857-修复:升级到 JRE 6 更新29或更高版本之后,无法使用 SQL Server 的 JDBC 驱动程序连接到 SQL Server

随时随地通过任何设备使用 Microsoft 365 工作

升级到 Microsoft 365 以在任何位置使用最新的功能和更新。

立即升级

Microsoft 将 Microsoft SQL Server 2008 Service Pack 3 (SP3)或 Microsoft SQL Server 2008 R2 修补程序分发为一个可下载文件。 由于修补程序是累积的,因此每个新版本都包含了以前的 SQL Server 2008 Service Pack 3 (SP3)或 SQL Server 2008 R2 修补程序版本附带的所有修补程序和所有安全修补程序。

症状

请考虑以下情况:

  • 你有一个客户端应用程序,该应用程序使用 SQL Server 的 Java 和 Microsoft JDBC 驱动程序连接到 SQL Server。

  • 将 Oracle Java 运行时环境(JRE)升级到版本6更新29或更高版本。

  • 升级 JRE 后,您将无法再连接到 SQL Server。

在这种情况下,JDBC 驱动程序在尝试打开连接时可能会停止响应。 此外,JDBC 驱动程序会立即失败,并且如果使用下列方法之一对连接进行加密,则会生成调用堆栈:

  • 在连接 URL 中," 加密 " 属性设置为 True 。

  • SQL Server 配置为强制加密。

注意

  • 如果你使用安全套接字层(SSL)/Transport 层安全性(TLS)的第三方实现(包含与 JRE 版本6更新29及更高版本相同的行为更改),则可能会遇到此问题。 这种行为更改修复了一个称为 "BEAST" 的特定安全问题。 如果不确定第三方产品是否包含包含此更改的 SSL/TLS 的实现,请联系产品的供应商。

  • 任何使用 OpenSSLlibrary 的数据访问提供程序也可能会导致此问题。

原因

出现此问题的原因是,当 SSL 数据拆分为多个表格格式数据流(TDS)数据包时,SQL Server 引擎无法处理登录记录。

解决方案

SQL Server 2008 R2 的 Service pack 信息

若要解决此问题,请获取最新的 SQL Server 2008 R2 服务包。有关详细信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:

2527041 如何获取最新的 SQL Server 2008 R2 服务包

累积更新信息

SQL Server 2008 R2 Service Pack 1

此问题的修补程序首次在 SQL Server 2008 R2 Service Pack 1 的累积更新6中发布。有关如何获取此累积更新包的详细信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:

2679367 SQL Server 2008 R2 Service Pack 1 的累积更新包6注意 由于这些版本是累积的,因此每个新的修复版本都包含了以前的 SQL Server 2008 R2 修补程序版本附带的所有修补程序和所有安全修补程序。 我们建议你考虑应用包含此修补程序的最新修复版本。 有关更多信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:

2567616 在发布 SQL Server 2008 R2 Service Pack 1 之后发布的 SQL Server 2008 R2 版本

SQL Server 2008 的累积更新程序包 3 SP3

此问题的修补程序首次在累积更新3中发布。有关如何获取此累积更新包的 SQL Server 2008 Service Pack 3 的详细信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:

2648098 SQL Server 2008 的累积更新程序包 3 Service Pack 3注意 由于这些版本是累积的,因此每个新的修复版本都包含以前的 SQL Server 2008 Service Pack 3 修复版本附带的所有修补程序和所有安全修补程序。 我们建议你考虑应用包含此修补程序的最新修复版本。 有关更多信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:

2629969 发布 SQL server 2008 Service Pack 3 后发布的 SQL Server 2008 版本

更多信息

有关此问题的详细信息,请访问以下网站:

Microsoft 安全通报(2588513)

解决方法

若要解决此问题,请使用以下某种方法:

  • 使用旧版本的 Oracle JRE,比 JRE 版本6更新29。

  • 在 JRE 级别禁用 SSL 记录拆分。注意

    • 此方法可能对 HTTP 通信有安全隐患。

    • 有关此过程的详细信息,您可以联系。

本文中提到的第三方产品由 Microsoft 以外的其他公司提供。 对于这些产品的性能或可靠性,Microsoft 不做任何暗示保证或其他形式的保证。

状态

Microsoft 已确认这是在“适用范围”部分中列出的 Microsoft 产品存在的问题。此问题首先在 SQL Server 2008 R2 Service Pack 2 中更正。

需要更多帮助?

扩展你的技能
了解培训
抢先获得新功能
加入 Microsoft 内部人员

此信息是否有帮助?

谢谢您的反馈意见!

谢谢你的反馈! 可能需要转接到 Office 支持专员。

×