Эта строка является проблемой:
sqlInsertUser = "Insert Into retraining (date, user_id, image_name,location_flagged, processing_flagged, insert_date, visible)Values( "+ date + " , " + user_id + " , " + name + " , " + flag_loc + " , " + flag_proc + " , " + now + " , " + flag_vis + " )"
Например, если name
содержит недопустимые символы, например, "[" или "]", то вызов execute
завершится неудачно, потому что строка name
не правильно закрыт.(Он должен быть заключен в пару кавычек)
Вы можете использовать поддержку подстановки параметров в pyodbc, например:
sqlInsertUser = "Insert Into retraining (date, user_id,
image_name, location_flagged, processing_flagged, insert_date,
visible) Values (?,?,?,?,?,?,?)"
, затем выполнить
cur.execute(sqlInsertUser, date, user_id, name, flag_loc, flag_proc, now, flag_vis)
(Мой примерприведенный выше код не протестирован. Возможно, вам придется исправить некоторые синтаксические ошибки)
Подробнее о синтаксисе см. https://www.python.org/dev/peps/pep-0249/#paramstyle или https://github.com/mkleehammer/pyodbc/wiki/Cursor