Предположим, у меня есть 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)
Мне нужно сгенерировать оператор вставки SQL в Python из этого. Я придумал следующее:
...
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 ()
Однако он выдает мне эту ошибку: 'pyodb c .Error: (' 07002 '.' [07002] '[Microsoft] [ODB C Драйвер 17 для SQL Сервер] Поле COUNT неверно или синтаксическая ошибка (0) (SQLExecDirectW) ')'
Что может быть не так? Это просто тестовая таблица только с 1 строкой / столбцом, я не понимаю, почему она не работает.