使用Pyspark通过SSL连接到DB2

yhxst69z  于 2022-11-07  发布在  DB2
关注(0)|答案(1)|浏览(172)

我尝试在Linux上使用Pyspark通过SSL连接到DB2。

user = "xxxx"
password = "xxxxx"
jdbcURL = "jdbc:db2://nn.nn.nnn.nnn:nnnn/<database>"
prop = {"user": user, "password": password, "driver": 
"com.ibm.db2.jcc.DB2Driver", "sslConnection": "true"}
table = "<schema>.<table name>"
df = spark.read.jdbc(url=jdbcURL, table=table, properties=prop)

我也试过

user = "xxxx"
password = "xxxxx"
jdbcURL = "jdbc:db2://nn.nn.nnn.nnn:nnnn/<database>"
prop = {"user": user, "password": password, "driver": 
"com.ibm.db2.jcc.DB2Driver", "sslConnection": "true"
"Security": "SSL", "SSLServerCertificate": "<path to arm file>"}}
table = "<schema>.<table name>"
df = spark.read.jdbc(url=jdbcURL, table=table, properties=prop)

我在两种情况下或套接字输出流中得到相同的错误。
错误位置:回复.fill()-socketInputStream.read(-1).留言:sun.security.validator.ValidatorException:PKIX路径构建失败:安全性提供者证书路径生成器异常:找不到所请求目标的有效证书路径。错误代码= -4499,SQLSTATE=08001
我不确定指定.arm路径的语法。卡住了。请帮助
加内什
P.S. I可以使用以下命令与python和ibm_db模块连接

import ibm_db
conn = ibm_db.connect("DATABASE=<database> 
;HOSTNAME=nn.nn.nnn.nnn:nnnn;SECURITY=SSL;SSLServerCertificate=<path to arm 
file> ;UID=<user>;PWD=<password>","","")

这很管用。

6l7fqoea

6l7fqoea1#

通过重新安装Java证书解决了此问题。

相关问题