Python/SQLAlchemy/IBM DB2 - 如何使用SQLAlchemy在IBM i、AS400上进行DB2插入操作?

4
尝试使用sqlAlchemy与IBM Db2 AS400 (IBM i7.2)数据库配合使用,但在通过sqlAlchemy查询向数据库中添加对象时出现错误。
class Client(Base):
    """
    Client Account Schema
    """
    __tablename__ = 'client'
    client_id = Column('client_id', Integer, primary_key=True, nullable=False)
    client_name = Column('client_name', String(200))
    client_address = Column('client_name', Text)

input_client_data = {'client_name': 'test', 'client_address': 'client address'}

with conn.db_session() as session:
    client = Client(**input_client_data)
    session.add(client)
    session.commit()

错误 - pyodbc.Cursor对象没有属性'lastrowid'

此外,我们使用IBM i访问ODBC驱动程序连接到Db2。我的连接字符串如下:

ibm_db_sa+pyodbc400://{user}:{password}@{host}:{port}/{database}

  1. SQLAlchemy版本:1.3.6
  2. IBM DB SA版本:0.3.5
  3. Python:3.5
  4. 平台:Ubuntu 16.04

驱动程序的详细信息 -

[iSeries Access ODBC Driver]
Description=IBM i Access for Linux ODBC Driver
Driver=/opt/ibm/iaccess/lib/libcwbodbc.so
Setup=/opt/ibm/iaccess/lib/libcwbodbcs.so
Driver64=/opt/ibm/iaccess/lib64/libcwbodbc.so
Setup64=/opt/ibm/iaccess/lib64/libcwbodbcs.so
Threading=0
DontDLClose=1
UsageCount=1

以上展示的是PostgreSQL代码,但你说Db2?! - data_henrik
以下IBM Cloud教程使用Db2和SQLAlchemy: https://github.com/IBM-Cloud/github-traffic-stats/blob/master/backend/ghstats.py - data_henrik
1个回答

3
这是ibm_db_sa库的问题,他们已经更新了他们的库。请点击下面的链接获取更多详细信息: 请点击此链接查看更多详情 Github链接 注意:他们还没有发布这个更改。但你可以访问开发存储库。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接