【问题标题】:How do I create a query object into the Microsoft Access database? [duplicate]如何在 Microsoft Access 数据库中创建查询对象? [复制]
【发布时间】:2019-01-24 18:02:03
【问题描述】:

我可以成功连接到 Microsoft Access 数据库;但是,我无法理解如何为查询创建 Access Database 对象。创建后,我试图将其验证为数据库中的对象。我尝试了一些选项,但它似乎没有创建任何查询对象。任何帮助表示赞赏。

How to create permanent MS Access Query by Python 3.5.1?

不适合我,我不知道为什么。

sql ="""\
{CREATE AND NAME VIEW AS A SELECT STATEMENT}
"""
csr.execute(sql)
con.close()
del csr

我希望在数据库中看到查询对象,我可以在其中确认其设计。

【问题讨论】:

  • con.close() 之前,您可能需要一个con.commit()
  • 你先生很棒。成功了!
  • 或者您可以使用您发布的同一链接中的 CreateQueryDef 示例。

标签: python python-2.7 ms-access view pyodbc


【解决方案1】:

Python 的 DB API 2.0 指定连接默认为 autocommit=False,这意味着所有操作都发生在必须提交或回滚的事务中。

对于某些数据库平台,CREATE TABLECREATE VIEW 等 DDL 语句如果在事务中执行会失败,但 Access ODBC 似乎并不介意。但是,它确实需要在实际创建视图(Access 中保存的查询)之前提交事务。

所以在你的情况下的解决方案是做

csr.execute(sql)
con.commit()  # persist the change
con.close()

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-06-14
    • 1970-01-01
    • 1970-01-01
    • 2019-08-23
    • 2020-10-30
    相关资源
    最近更新 更多