【发布时间】:2020-07-30 16:25:37
【问题描述】:
假设我有一个这样的 JSON:
[
{
"randomcol" : "randomvarchar"
}
]
它是这样生成的:
cursor_orcl.execute("""
Select * from test_t where
""")
rows = cursor_orcl.fetchall()
columns = [desc[0] for desc in cursor_orcl.description]
result = []
for row in rows:
row = dict(zip(columns, row))
result.append(row)
我需要由此在 Python 中生成插入 SQL 语句。我想出了以下几点:
...
cursor_insert = cnxn.cursor()
cursor_insert.arraysize= 50000
sql = (
"INSERT INTO dbo.test_t (randomcol) " + " VALUES("
"SELECT randomcol" +
"FROM OPENJSON(?))"
)
cursor_insert.execute(sql)
cursor_insert.close ()
cnxn.commit ()
但是它给了我这个错误:'pyodbc.Error: ('07002'. '[07002]' [Microsoft][ODBC Driver 17 for SQL Server]COUNT 字段不正确或语法错误 (0) ( SQLExecDirectW)')'
可能出了什么问题?这只是只有 1 行/列的测试表,我不明白为什么它不起作用。
【问题讨论】: