尝试从clpplus
连接到Db2 Warehouse Local时,出现以下错误
````
clpplus -nw db2inst1@WP
````
jcc] [t4] [2030] [11211] [4.24.92]期间发生通信错误 对连接的基础套接字,套接字输入流, 或套接字输出流。错误位置:Reply.fill()- socketInputStream.read(-1)。信息: sun.security.validator.ValidatorException:PKIX路径构建失败: sun.security.provider.certpath.SunCertPathBuilderException:无法执行 查找到请求目标的有效认证路径。错误代码= -4499, SQLSTATE = 08001
我的数据库已启用SSL,并且我已经在Mac上下载了IBM数据服务器客户端并按如下所示创建了db2dsdriver.cfg
db2cli writecfg add -database BLUDB -host db2inst1.zc.com -port 50001
db2cli writecfg add -dsn WP -database BLUDB -host db2inst1.zc.com -port 50001
db2cli writecfg add -database BLUDB -host db2inst1.zc.com -port 50001 -parameter "SecurityTransportMode=SSL" `
通常,从dbvizualizer连接时,我们使用以下数据库连接网址
BLUDB:sslConnection = true; sslTrustStoreLocation = / Users / Documents / truststore / ibm-truststore.jks; sslTrustStorePassword = <>;
我什至尝试如下创建文件,但仍然存在相同的错误
db2cli writecfg add -database BLUDB -host db2inst1.zc.com -port 50001
db2cli writecfg add -dsn WP -database BLUDB -host db2inst1.zc.com -port 50001
db2cli writecfg add -database BLUDB -host db2inst1.zc.com -port 50001 -parameter "SecurityTransportMode=SSL"
db2cli writecfg add -database BLUDB -host db2inst1.zc.com -port 50001 -parameter "sslTrustStoreLocation=/Users/Documents/truststore/ibm-truststore.jks"
db2cli writecfg add -database BLUDB -host db2inst1.zc.com -port 50001 -parameter "sslTrustStorePassword=<>"
实际上,我正在尝试在Juypter笔记本中使用ibm_db连接到Db2 Warehouse,但是为此,应该对数据库进行分类,并且由于这个问题,我无法使用笔记本,并且在Mac db2客户端上也无法使用支持,因此我必须使用数据服务器客户端。所以我需要帮助实现这一目标
答案 0 :(得分:0)
为了不让所有内容都带有评论,让我们开始编写答案。...
如果您想connect to Db2 Warehouse using clpplus
and using SSL,则必须从Db2 Warehouse的最新版本之一开始进行更改。您需要像这样设置IBM数据服务器驱动程序配置文件:
<configuration>
<dsncollection>
<dsn alias="SSLAMPLE" name="SAMPLE" host="9.121.221.159" port="50001">
</dsn>
</dsncollection>
<databases>
<database name="SAMPLE" host="9.121.221.159" port="50001">
<parameter name="SecurityTransportMode" value="SSL"/>
</database>
</databases>
</configuration>
上面为数据库 SAMPLE 配置了别名 SSLAMPLE 。然后,使用clpplus
,您可以连接到 SSLAMPLE 。