【发布时间】:2020-07-01 12:06:13
【问题描述】:
我正在尝试使用 python 连接 db2,但我不知道如何正确设置 securityMechanism=13 属性,您能告诉我该怎么做吗?
import jaydebeapi
conn_src = jaydebeapi.connect(
'com.ibm.db2.jcc.DB2Driver',
'jdbc:db2://host:port/dbname',{"encryptionAlgorithm":"2",'securityMechanism':'13', 'user':'username',"password":'pass'},'',
)
cursor=conn_src.cursor()
错误信息:
com.ibm.db2.jcc.am.SqlExceptionPyRaisable: com.ibm.db2.jcc.am.SqlException:[jcc][t4][10441][12439][3.69.66] 加密算法只能用 securityMechanism 设置 ENCRYPTED_PASSWORD_SECURITY 和 ENCRYPTED_USER_AND_PASSWORD_SECURITY。 ERRORCODE=-4450,SQLSTATE=null
我很乐意使用 ibm_db,但我没有找到设置 securityMechanism=13 的方法。
【问题讨论】:
-
请编辑您的问题以添加更多事实。哪个 Db2 平台(z/os、i 系列、linux/unix/windows)托管您尝试连接的数据库?如何在目标环境上配置身份验证?您使用的是哪个 jdbc 驱动程序+版本?为什么不能使用 CLIDRIVER 和 ibm_db ?请附上确切错误消息的详细信息。
-
请编辑您的问题以回答所有所要求的说明
-
对于在 Linux/Unix/Windows 上运行的 Db2 服务器,带有 clidriver(或 IBM 提供的其他等效项)的 python
ibm_db模块支持具有与该值匹配的 AUTHENTICATION 参数的连接字符串Db2 实例上的参数。
标签: python encryption jdbc db2