Python DB2 SSL连接

Python DB2 SSL连接,python,pandas,ssl,db2,Python,Pandas,Ssl,Db2,我一直在使用带有pandas的ibm_-db&ibm_-db_-dbi从DB2数据库运行SQL查询(客户端)。然而,我们公司实施了新的安全标准,我也需要一种方法来保护连接。 运行Python3.7和db210.5 下面是我当前的连接字符串: import ibm_db import ibm_db_dbi import pandas as pd dsn_driver = "IBM DB2 ODBC DRIVER" dsn_database = "EUH0000" dsn_h

我一直在使用带有pandas的ibm_-db&ibm_-db_-dbi从DB2数据库运行SQL查询(客户端)。然而,我们公司实施了新的安全标准,我也需要一种方法来保护连接。 运行Python3.7db210.5

下面是我当前的连接字符串:

import ibm_db
import ibm_db_dbi
import pandas as pd

dsn_driver = "IBM DB2 ODBC DRIVER"
dsn_database = "EUH0000"           
dsn_hostname = "MEUHC.s990.emea.ibm.com" 
dsn_port = "0000"                
dsn_protocol = "TCPIP"      
dsn_uid = "uid"        
dsn_pwd = "pwd"


dsn = (
"DRIVER={{IBM DB2 ODBC DRIVER}};"
"DATABASE={0};"
"HOSTNAME={1};"
"PORT={2};"
"PROTOCOL=TCPIP;"
"UID={3};"
"PWD={4};").format(dsn_database, dsn_hostname, dsn_port, dsn_uid, dsn_pwd)

conn = ibm_db.connect(dsn, "", "")
some_query = "SELECT *....."         # just an example

pconn = ibm_db_dbi.Connection(conn)
df = pd.read_sql(some_query, pconn)

有没有任何方法可以合并此代码的SSL?或者我应该使用另一个库吗?

尝试设置以下属性:


=SSL、sslclientkeystredb、sslclientkeystredbpassword或SSLClientKeystash,如链接中所述。

不幸的是,这有点复杂,并且(希望)您的DBA可以对此提供一些帮助

如果您使用的是Db2 10.5 Fixpack 5(或更新版本)客户机,则只需在DSN字符串中添加几个参数:

Security=ssl; 
SslServerCertificate=/path/to/file.arm;
您的DBA应该能够向您提供SslServerCertificate文件(或内容)


如果将Db2客户机与python ibm_db包分开安装,则根据已安装的Db2客户机(即为
ibm_db
提供本机库),可能需要安装一些附加库(为Db2客户机提供SSL功能的ibm GSKit库).

感谢您的帮助!我确实已经安装了GSKit,因此提供证书路径似乎可以解决这个问题。