我正在尝试在 Python 脚本中使用 OPENJSON 将一些基本的 JSON 导入 SQL 数据库。我最初尝试使用更复杂的 JSON 文件,但为了这篇文章而对其进行了简化。这是我所拥有的:
sql_statement = "declare @json nvarchar(max) = '{\"name\":\"James\"}'; SELECT * FROM OPENJSON(@json) WITH (name nvarchar(20))"
cursor.execute(sql_statement)
cursor.commit()
connection.close()
我收到的错误:
pypyodbc.ProgrammingError: (u'42000', u"[42000] [Microsoft][ODBC SQL Server Driver][SQL Server]关键字'with'附近的语法不正确。如果此语句是公用表表达式,xmlnamespaces 子句或更改跟踪上下文子句,前一条语句必须以分号结束。”)
关于我为什么会看到此错误的任何想法?我成功地能够使用相同的 pypyodbc / 数据库配置执行其他 SQL 查询。