因此,在我的服务器开始使用/强制使用SSL之前,我就可以通过连接进行连接
from sqlalchemy import create_engine
import ibm_db_sa
import pandas as pd
import numpy as np
eng = 'ibm_db_sa://{user}:{psw}@{host}:{port}/{db}'.format(
user = user,
psw=psw,
host=host,
port=port,
db=db
)
engine = create_engine(eng)
sql = '''select * from table fetch first 10 rows only'''
df = pd.read_sql(sql, con=engine)
因此,我可以使用Data Studio和.jks文件使用SSL很好地连接到DB,但是不能再使用Python进行连接。我尝试将连接字符串编辑为其中任何一个
ibm_db_sa://{user}:{password}@{host}:{port}/{db};SECURITY=SSL;SSLServerCertificate={arm};
或
ibm_db_sa://{user}:{password}@{host}:{port}/{db};SECURITY=SSL;SSLCLIENTKEYSTOREDB={kdb};SSLCLIENTKEYSTASH={sth};
其中arm,kdb和sth是本地系统上我具有相应文件的路径。例如“ C:/ Users / wizuriel / Documents / Trusted Sources / [file] .kdb”(已尝试用单引号将路径引起来,并且没有引号也没有问题)
我得到的错误是
(ibm_db_dbi.ProgrammingError)ibm_db_dbi :: ProgrammingError:[IBM] [CLI 驱动程序] SQL1109N指定的DLL“ GSKit错误:202”不能为 已加载。 SQLSTATE = 42724 \ r SQLCODE = -1109
查找GSKit错误202,人们说这可能是路径变量的问题。我尝试编辑我的环境变量,使其指向\ Anaconda3 \ Lib \ site-packages \ clidriver \ bin \ icc64,在这里我看到GSK8 dll并且没有运气。所以希望有人可能知道我还能尝试些什么