我在.bashrc(linux)中将DB2用户名和DB2密码分别保存为'DB2_USER'和'DB2_PASS'。并且,我试图在我的python程序中调用它们来连接到DB2数据库。
。bashrc内容:(
export DB2_USER="my_username"
export DB2_PASS="my_password"
我的python代码片段:
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(最近一次调用):File "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 = 08001SQLCODE = -30082
我之前的代码实际上取了db_user
&db_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_pass,'','')