【问题标题】:Using DECLARE throws invalid SQL statement使用 DECLARE 抛出无效的 SQL 语句
【发布时间】:2018-11-15 19:32:13
【问题描述】:

我正在使用 pyodbc 连接到 .mdb 文件并做一些事情。

sql = ("""\
  DECLARE @i int  = 1;
  ...somevalid sql...
""")
cursor.execute(sql)

上面给了我错误"Invalid SQL Statement; expected 'Delete',....

@i在sql的任何地方都没有使用,下面的sql会在没有declare语句的情况下运行。我在多个地方看到其他人这样做,比如here,所以它应该是可能的。

【问题讨论】:

    标签: python ms-access pyodbc


    【解决方案1】:

    您正在连接到 Access 数据库 (.mdb),因此您需要使用 SQL 的 Microsoft Access 方言。 DECLARE 是对 Access SQL 无效的 T-SQL 语句(SQL 的 Microsoft SQL Server 方言)。

    另请注意,Access SQL 一次只支持执行一条 SQL 语句。

    【讨论】:

    • 哦,我明白了,我以前没有真正使用过访问权限。所以我想这样的事情是不可能的:stackoverflow.com/a/13629639/5471957
    • 不是那种形式(匿名代码块)。尝试询问new question,描述您真正想要完成的任务。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2017-02-21
    • 2011-05-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多