使用python连接到DB2

2024-04-25 22:17:08 发布

您现在位置:Python中文网/ 问答频道 /正文

我使用的是python2.7,我想连接到DB2数据库并将数据插入其中。以下是我目前所做的:

import sqlalchemy
from sqlalchemy import *
import ibm_db_sa

db2 = sqlalchemy.create_engine('ibm_db_sa://user:pswd@localhost:50001/prm')
metadata = MetaData()
users = Table('users', metadata, 
Column('user_id', Integer, primary_key = True),
Column('user_name', String(16), nullable = False),
Column('email_address', String(60), key='email'),
Column('password', String(20), nullable = False)
)
metadata.bind = db2
metadata.create_all()
users_table = Table('users', metadata, autoload=True, autoload_with=db2)
users_table

问题是,当我执行上述代码时,会出现以下错误:

^{pr2}$

有人能帮我弄清楚吗?在


Tags: keyimporttruedbstringsqlalchemycreatesa
2条回答

虽然问题解决了,我还是写了我的一点,因为它可能对某人有帮助。在

在我的例子中,ldu库路径和所有lib文件夹都是正常的。在

在virtualenv中重新安装ibm_db和ibm_db_sa解决了这个问题。在

pip uninstall ibm_db ibm_db_sa
pip install ibm_db ibm_db_sa

我的猜测是,在系统中安装DB2驱动程序之前就安装了IBMUDB(可能有人忽略了错误/警告)。在

最好先检查一下是否可以用db2cli连接到数据库

^{pr2}$

最后,我通过将LD_LIBRARY_PATH添加到值为<YOUR_DB2_HOME>\SQLLIB\lib的环境变量中,使其正常工作。它现在工作得很好。在

相关问题 更多 >