我可以成功连接到Microsoft Access数据库;但是,我在理解如何为查询创建Access数据库对象时遇到了麻烦。创建后,我试图将其验证为数据库中的对象。我尝试了一些选项,但似乎没有创建任何查询对象。任何帮助表示赞赏。
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
我希望可以在数据库中看到查询对象,以确认其设计。
答案 0 :(得分:0)
Python的DB API 2.0指定连接默认为autocommit=False
,这意味着所有操作都在必须提交或回滚的事务中进行。
对于某些数据库平台,如果从事务中执行,则CREATE TABLE
,CREATE VIEW
等DDL语句将失败,但是似乎并不在意Access ODBC。但是,它确实需要在实际创建视图(Access中已保存的查询)之前提交事务。
因此您的解决方案是
csr.execute(sql)
con.commit() # persist the change
con.close()