【发布时间】:2020-10-20 11:36:18
【问题描述】:
我正在尝试使用 DataGrip 与 DB2 数据库建立连接。对于连接securityMechanism=13 是必需的。
连接失败并显示以下消息:
[-4223] [jcc][1071][10615][3.68.61] 抓到 初始化时出现 java.security.InvalidAlgorithmParameterException 加密管理器。详见附件 Throwable。 ERRORCODE=-4223,SQLSTATE=null DH 密钥大小必须是 64 的倍数,并且 只能从 512 到 8192(含)。具体密钥大小 256 不支持。
我们使用了以下字符串:
jdbc:db2://<ip-adress>:<port>/<schema>:securityMechanism=13;
当我们禁用安全措施时,我们可以连接到数据库,但一旦启用 ENCRYPTED_USER_PASSWORD_AND_DATA_SECURITY,我们就无法建立连接。
我们还使用 DataStudio,通过这个应用程序可以创建到 DB2 数据库的 jdbc 连接。我们更喜欢使用 DataGrip,因为我们需要维护不同类型的数据库,而这在 DataStudio 中是不可能的。
【问题讨论】:
-
比较在成功案例 (IBM DataStudio) 和失败案例 (DataGrip) 中使用的 jvm/jdk/jre 的确切版本。您可能会发现失败案例使用 java 11 或更高版本,如果是这样,那么此技术说明将给出原因:ibm.com/support/pages/jdbc-data-encrypt