Вставить ошибку оператора для базы данных Access

Я пытаюсь добавить данные в базу данных (хорошо, MS Access), используя python с pypyodbc. Я проверил свой оператор вставки в MS Access как запрос, и он работает. Проблема в том, что когда я запускаю его внутри своей программы, возникает следующая ошибка:

pypyodbc.ProgrammingError: ('42000', '[42000] [Microsoft][ODBC Microsoft Access Driver] Syntax error in INSERT INTO statement.')

Мой оператор вставки выглядит следующим образом:

INSERT INTO Database (columnAText,columnBText,columnText,columnDTime,columnEText,columnFText,columnGNumber) VALUES ('a','b','c','00:00:17','e','f','100')

Обратите внимание, что заголовки столбцов включают их тип как часть их имени, так как это тестовая таблица.

Программа работает так:

Здесь больше столбцов, чем в операторе вставки, потому что для идентификатора есть столбец автоинкремента. Это означает, что столбцы должны быть определены в операторе вставки, чтобы отправлять данные в правильные столбцы. Поэтому, если в строке есть пустая запись, этот столбец пропускается из оператора вставки.

Я не вижу, что не так с оператором вставки, тем более что он работает непосредственно в MS Access.

Я использую ActivePython33 с pypyodbc, MS Access 2010, на компьютере с Windows 7.


person user2862873    schedule 20.05.2014    source источник


Ответы (1)


DATABASE – это зарезервированное слово в Access SQL, поэтому вам нужно будет заключить его в квадратные скобки:

INSERT INTO [Database] ...
person Gord Thompson    schedule 21.05.2014