【发布时间】:2021-05-15 01:20:38
【问题描述】:
我已将 DB2 用户名和 DB2 密码分别保存为 .bashrc(linux) 中的“DB2_USER”和“DB2_PASS”。而且,我正在尝试在我的 python 程序中调用它们以连接到 DB2 数据库。
.bashrc 内容:
export DB2_USER="my_username"
export DB2_PASS="my_password"
我的python代码sn-p:
db_user = os.environ.get('DB2_USER')
db_password = os.environ.get('DB2_PASS')
conn = ibm_db.connect('DRIVER={IBM DB2 ODBC DRIVER};DATABASE=<my_db>;HOSTNAME=<my_hostname>;PORT=50000;PROTOCOL=TCPIP;UID=db_user;pwd=db_password','','')
在执行上述代码时,我收到以下错误。我可以知道任何其他替代方式吗?
Traceback(最近一次调用最后一次):文件“test.py”, 第 38 行,在 conn = ibm_db.connect('DRIVER={IBM DB2 ODBC DRIVER};DATABASE=
;HOSTNAME= ;PORT=50000;PROTOCOL=TCPIP;UID=db_user;pwd=db_password','','' ) 异常:[IBM][CLI Driver] SQL30082N 安全处理失败 原因为“24”(“用户名和/或密码无效”)。 SQLSTATE=08001 SQLCODE=-30082
【问题讨论】:
-
@mao 是的,我打印了 db_user 和 db_password 。而且,我可以看到打印的实际值。顺便说一句,我的密码有特殊字符。
标签: python db2 environment-variables