【问题标题】:Modify existing MS Access Query via ODBC通过 ODBC 修改现有的 MS Access 查询
【发布时间】:2019-01-07 16:55:38
【问题描述】:

我有一个在 ArcMap 中更新和生成导出的 python 脚本。 ArcMap 文档从 MS Access 中提取要映射的数据。目前,我必须进入 MS Access 并更新从/到列的日期标准(在设计视图中)并在运行脚本以生成导出之前保存它。我希望能够简单地更新条件框中的日期范围、保存查询并关闭连接。

我尝试使用 SQL 更新字符串,但由于参数太少而出现错误,我不希望它创建或更改任何表。只有我的数据库中的查询。

db = pypyodbc.connect(
r"Driver={Microsoft Access Driver (*.mdb)};"+
    r"Dbq=P:\path\path\path.mdb;")

sql = """SELECT DISTINCT"""

db.cursor().execute(sql).commit()

【问题讨论】:

    标签: python ms-access odbc arcmap pypyodbc


    【解决方案1】:

    要通过 ODBC 在 Access 中创建保存的查询,我们可以使用 CREATE VIEW 语句,例如,

    crsr.execute("CREATE VIEW CAD_Extract_Mapping AS SELECT ...")
    

    很遗憾,Access SQL 不支持ALTER VIEWDROP VIEW 也不起作用。但是,解决方法是使用DROP TABLE view_name,例如,

    crsr.execute("DROP TABLE CAD_Extract_Mapping")
    crsr.execute("CREATE VIEW CAD_Extract_Mapping AS SELECT ...")
    

    请注意,许多 DDL 命令将无法在事务中执行,因此您可能需要使用

    cnxn.autocommit = True
    

    在尝试上述方法之前。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-07-14
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多