У меня были проблемы с 1 конкретным запросом за последнюю неделю. Я не могу найти что-либо в Интернете для этой конкретной ситуации (или, по крайней мере, я не ищу правильную вещь), но, безусловно, это то, что кто-то делал раньше. Я создаю новую таблицу в каждом цикле (с увеличивающимся столбцом идентификатора / ключа и 3 столбцами для моих данных), чтобы изменить имя таблицы, а затем добавить некоторые данные (все целые числа). Строка, вызывающая ошибку:
cursor.execute(''' INSERT INTO ? (column1, column2, column3) VALUES (?, ?, ?) ''' , tablename, rowData[0], rowData[1], rowData[2])
Ошибка, которую я получаю:
('42000', '[42000] [Microsoft] [ODBC SQL Server Driver] [SQL Server] Необходимо объявить табличную переменную "@ P1". (1087) (SQLExecDirectW); [42000] [Microsoft] [Драйвер ODBC SQL Server] [Оператор SQL Server] не удалосьбыть готовым. (8180) ')
Ранее я пытался использовать обычное форматирование строки Python со словарем '''INSERT INTO %(table)s VALUES %(list0)i, %(list1)i, %(list2)i ''' % {"table":tablename, "list0":list[0], "list1":list[1], "list2":list[2]})
и некоторыми вариациями двух форматов, но они также приводили к ошибкам.
Буду признателен за любую помощь.