点击此处---> 群内免费提供SAP练习系统(在群公告中)
加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)
您好,
使用SAP PI 7.4将数据向第三方SQL Server数据库(2016)投放时出现间歇性问题。 问题是断断续续的,错误信息如下所示:
无法创建新的池化资源:DriverManagerException:无法与已注册的驱动程序建立连接。 com.microsoft.sqlserver.jdbc.SQLServerDriver返回:驱动程序无法通过使用安全套接字层(SSL)加密建立到SQL Server的安全连接。 错误:" SQL Server返回的响应不完整。连接已关闭。
我检查了似乎相关的MS Link
症状:
当反复与SQL Server建立连接时,可以观察到大约1%的连接无法连接。 用户看到以下错误消息,
错误:
驱动程序无法使用安全套接字层(SSL)加密建立与SQL Server的安全连接。 错误:" SQL Server返回的响应不完整。连接已关闭。"
背景:
由于Microsoft的一些最新更新,在使用SSL/TLS来保护连接时,客户可能会遇到与贸易伙伴的连接问题。 最近,Microsoft向Windows添加了两个新密码,它们使用不同的密钥算法。 这些密码允许的最小密钥长度是1024个字符。 如果贸易伙伴使用的密钥长度小于此长度,则SSL/TLS握手将失败。
仅当使用版本4.2以下的旧版JDBC驱动程序时,才会出现此问题。 其他驱动程序工作正常。 使用Sqlclient/ ADO.net 堆栈时,我们无法重现该问题(即使我们强制使用DHE套件)。 >
解决方案/解决方法:
请执行以下行动计划。
选项1
- 将JDBC驱动程序更新为4.2或更高版本:
我们实现了一种变通方法,在SSL握手收到来自服务器的不完整响应的特定情况下,JDBC驱动程序将重试连接。
将JDBC驱动程序更新为4.2或更高版本。 里面有一个重试逻辑。 确保您在该计算机上具有受支持的JVM/JRE。
我已经检查了JDBC驱动程序版本,如果我不傻,则下面的代码显示的是目标JDBC驱动程序,即4.0。 根据博客4.2或更高版本,JDBC驱动程序将不会出现此问题。
尝试加载驱动程序类:com.microsoft.sqlserver.jdbc.SQLServerDriver 尝试使用DriverManager.getConnection()获得连接... 成功获得的连接对象= ConnectionID:491 ClientConnectionId:b9172a2f-d5d1-47a7-91b7-d47d98f785bc conn.getMetaData()。getDatabaseProductName()= Microsoft SQL Server conn.getMetaData()。getDatabaseProductVersion()= 13.00.5026 conn.getMetaData()。getDriverName()=用于SQL Server的Microsoft JDBC驱动程序4.0 conn.getMetaData()。getDriverVersion()= 4.0.4621.201 conn.getMetaData()。getJDBCMajorVersion()= 4 conn.getMetaData()。getJDBCMinorVersion()= 0 正在关闭JDBC资源... 正在关闭JDBC连接... 封闭的JDBC资源。
但是,我的问题是PI用于连接到目标SQL实例的JDBC驱动程序-是目标还是它自己的? 哪个要升级?
如果我提出了愚蠢的问题,非常感谢您的帮助和歉意
谢谢
Mofizur
嗨,
如果仍然需要答案,则需要按照以下说明升级驱动程序:
https://launchpad.support.sap.com/#/notes/0002513069
最诚挚的问候,
耶罗恩
一周热门 更多>