Jdbc 如何在DB2SSL连接中使用liquibase cmd?

Jdbc 如何在DB2SSL连接中使用liquibase cmd?,jdbc,db2,liquibase,liquibase-hibernate,db2-woc,Jdbc,Db2,Liquibase,Liquibase Hibernate,Db2 Woc,我正在尝试使用运行liquibase更新命令 liquibase --driver="com.ibm.db2.jcc.DB2Driver" --changeLogFile="masterchangelog.xml " --url="jdbc:db2://localhost:60001/SMDINTDB:retrieveMessageFromServerOnGetMessage=true;sslConnection=true;" --username="" --password="" --cla

我正在尝试使用运行liquibase更新命令

liquibase --driver="com.ibm.db2.jcc.DB2Driver" --changeLogFile="masterchangelog.xml " --url="jdbc:db2://localhost:60001/SMDINTDB:retrieveMessageFromServerOnGetMessage=true;sslConnection=true;"  --username="" --password="" --classpath=/home/db2inst1/sqllib/java/db2jcc4.jar validate
但我有以下错误。有人能帮我解决这个问题吗?如何指定证书的位置

Unexpected error running Liquibase: com.ibm.db2.jcc.am.DisconnectNonTransientConnectionException: [jcc][t4][2030][11211][4.26.14] A communication error occurred during operations on the connection's underlying socket, socket input stream,
or socket output stream.  Error location: Reply.fill() - socketInputStream.read (-1).  Message: sun.security.validator.ValidatorException: PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target. ERRORCODE=-4499, SQLSTATE=08001

使用jdbc进行本地Db2 LUW SSL连接有几个先决条件。 如果所有先决条件配置都成功完成,那么liquibase可以与本地DB2LUW的SSL连接正常工作。这里有一些提示

目标DB2LUW实例必须已经按照IBMDB2文档配置为SSL。如果您正在使用IBM提供的基于云的Db2服务,那么这已经为您完成了,尽管您可能需要在客户端使用IBM提供的根证书

您的客户端JRE需要根据IBM的DB2LUW文档进行配置。我使用DB2LUW服务器为liquibase提供的IBMJRE

对于本地Db2 LUW,客户端需要创建java密钥库,并将服务器的证书导入其中keytool-importcert-file/your/path/to/server\u certificate

对于您的特定错误,对于本地DB2LUW,您可以尝试连接字符串中的其他选项,以告诉JRE如何访问已导入服务器证书的客户端密钥库。特别是sslTrustStoreLocation=/path/to/.keystore;sslTrustStorePassword=whatever。请注意,一旦我将DigiCertGlobalRootCA.crt添加到密钥库中,如果使用Db2 on cloud liquibase与SSL到Db2 on cloud正常工作,我就不需要这些选项,尽管这可能是不必要的,但我没有尝试使用Db2 warehouse on cloud,因为我没有使用该服务


信息不足。您是连接到DB2LUW内部部署还是连接到DB2WarehouseOnCloud?编辑您的问题以指定用于liquibase的jre,以及您是否将该jre配置为SSL。感谢它解决了问题…我使用此命令提取证书keytool-import-trustcacerts-alias myalias-file server.arm-keystore mynewdbclient.jks