我正在使用以下sqoop命令通过ssl连接连接到db2数据库:
sqoop import -libjars /u/certificate.pfx,/u/javakeystore.jks -Dorg.apache.sqoop.splitter.allow_text_splitter=true -Ddb2.jcc.charsetDecoderEncoder=3 --jar-file /u/db2jcc.jar --class-name com.ibm.db2.jcc.DB2Driver --connect "jdbc:db2://<host>:<port>/<dbName>:securityMechanism=18;sslConnection=true;sslKeyStoreLocation=/u/keystore.pfx;sslKeyStorePassword=xyz;sslKeyStoreType=PKCS12;sslTrustStoreLocation=/u/trustloc/javakeystore.jks;" --username abc --query "SELECT * FROM tble " --split-by col1 --num-mappers 10 --fields-terminated-by '|' --target-dir /user/ignore-this
我遇到以下错误:
java.lang.RuntimeException: com.ibm.db2.jcc.b.yn: [jcc][t4][20109][11222][3.53.71] Security mechanism '18' is not supported. ERRORCODE=-4450, SQLSTATE=0A504
我已将“ db2jcc” jar更新为驱动程序版本:3.65.77,它支持“ db2.jcc.securityMechanism”,如以下所示:https://www.ibm.com/support/knowledgecenter/en/SSEPEK_10.0.0/java/src/tpc/imjcc_r0052075.html
此外,我需要使用db2.jcc.securityMechanism = 18来实现ssl的连接方式,如上面的url所示。
我已经能够使用用户名和密码直接连接到数据库。现在,我正在尝试通过SSL证书方式连接它。 我也在使用正确的证书。 我在这里可能会缺少什么?
db2服务器在z / os平台上