使用sslConnection时如何用python ibm_db包替换jaydebeapi包

时间:2019-04-30 11:25:07

标签: db2 ibm-cloud ibm-cloud-storage

我能够使用需要ssl连接的jaydebeapi python 3.7软件包连接db2数据库。下面是连接字符串:

connection_string='jdbc:db2://%s:%s/%s:sslConnection=%s;sslTrustStoreLocation=%s;sslTrustStorePassword=%s' % (dsn_hostname, dsn_port, dsn_database, ssl_connection, ssl_trust_store_location, ssl_trust_store_password)

我需要使用python

  

ibm_db软件包

相反,但我找不到有关在ssl信任库中使用它的任何信息。

请帮助我解决此问题。

1 个答案:

答案 0 :(得分:0)

您的问题与配置有关,与编程无关。

用于python的ibm_db模块使用CLI(调用级别接口),它是Db2驱动程序提供的非Java接口,与使用jdbc的基于Java的工具不同。

您可以选择使用手动创建的信任库或动态创建的信任库来连接TLS / SSL。

后者需要工作站上具有最新的Db2-client(高于Db2 v10.5 fixpack 5)和特殊配置设置,并假定只需要一个证书文件,并且该文件以ARM格式可用。

对于IBM cloud,相关文档为here

为避免手动创建信任库,请使用连接关键字SSLServerCertificate =完全合格的ARM路径文件和SecurityTransportMode = SSL。查找在线Db2 knowledge centre以获得详细信息。这是最简单的选择。

要使用信任库,它将与Java使用的存储区不同,并且可能需要先安装IBM Global Security Kit(GSK)的其他软件,然后进行配置。这是在Db2中使用SSL的旧方法,并且已被上述dynamic-truststore方法取代。 IBM在Db2知识中心here中对此进行了记录。