python - 如何使用 SSL 将 Python 连接到 DB2 数据库?
问题描述
我有一个正在运行的 DBeaver 连接到一个 DB2 数据库,现在我想用 Python 也通过 SSL 安全地连接到 DB2 数据库。在进行身份验证时,我想使用我的 Windows 帐户而不是提供 PW 和 UserID,在 DBeaver 中这样做我更改了:
javax.net.ssl.keyStoreType = Windows-ROOT
javax.net.ssl.trustStoreType = Windows-MY
这也可以通过 Python 连接实现吗?我尝试了以下方法来设置连接:
import ibm_db
connID = ibm_db.connect('DRIVER={IBM DB2 ODBC DRIVER};'
'DATABASE=XXXX;'
'HOSTNAME=XXXXYYY.net;'
'PORT=9797;'
'PROTOCOL=TCPIP;'
'SECURITY=ssl;'
'SSLSERVERCERTIFICATE=C:/Users/..../cert.cer;'
, '', '')
if connID is None:
print("\nERROR: Unable to connect.")
exit(-1)
print("Connected!")
我收到以下错误:
SQLCODE=-30082][CLI Driver] SQL30082N Security processing failed with reason "17" ("UNSUPPORTED FUNCTION"). SQLSTATE=08001
一些细节:
M:\>"C:\Users\.conda\pkgs\ibm_db-3.0.1-py37hfa6e2cd_1\Lib\site-packages\clidriver\bin\db2level.exe"
DB21085I This instance or install (instance name, where applicable: "*") uses
"64" bits and DB2 code release "SQL11013" with level identifier "0204010F".
Informational tokens are "DB2 v11.1.3031.295", "s1804271300",
"DYN1804271300WIN64", and Fix Pack "3a".
Product is installed at
"C:\Users\.conda\pkgs\ibm_db-3.0.1-py37hfa6e2cd_1\Lib\site-packages\cli
driver" with DB2 Copy Name "IBM Data Server Driver For ODBC and CLI".
我在用着:
- Python 版本 2.7.17
- ibm_db 版本 3.0.1
解决方案
推荐阅读
- java - 如何在类和片段之间进行通信。我创建了一个类,我希望它执行网络请求并返回一个数组列表
- php - Magento 2 Soap API 问题
- .net-core - 如何为 AzureFunctions V2 创建 NuGet 包以推送到 Octopus 进行部署?
- android-studio - 重新安装或更新您的 Android SDK 管理器
- javascript - 在条纹反应中创建客户
- c++ - 使用 const_cast 在类中分配非静态 const 成员
- python - 如何评估用户提供的python代码?
- excel - 循环运行的 GAMS 输出到不同的 excel 文件
- android-json - 在android studio中使用gson从模型制作Json
- php - Laravel SQL Server 驱动程序错误000000000