Подключение к DB2 с помощью SSL с использованием Pyspark - PullRequest
0 голосов
/ 06 февраля 2019

Я пытаюсь подключиться к DB2 через SSL, используя Pyspark в Linux.Я попробовал следующее

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)

Я получаю одинаковую ошибку в обоих случаях или в потоке вывода сокета.

Местоположение ошибки: Reply.fill () - socketInputStream.read (-1).Сообщение: sun.security.validator.ValidatorException: сбой построения пути PKIX: sun.security.provider.certpath.SunCertPathBuilderException: невозможно найти действительный путь сертификации для запрошенной цели.ERRORCODE = -4499, SQLSTATE = 08001

Я не уверен в синтаксисе для указания пути .arm.Штука.Пожалуйста, помогите

Ганеш

PS Я могу подключиться с помощью модуля 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>","","")

Это работает.

1 Ответ

0 голосов
/ 18 февраля 2019

Эта проблема была решена путем переустановки сертификата Java.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...