pyodb c .ProgrammingError: ('42000', "[42000] [Microsoft] [ODB C Драйвер 13 для SQL Сервер] [SQL Сервер] Неверный синтаксис рядом с INSERT INTO - PullRequest
0 голосов
/ 26 марта 2020

Я использую библиотеку pypyodb c, чтобы установить sh соединение с базой данных SQL Server, и каждый раз, когда я пытаюсь выполнить файл. sql, я сталкиваюсь со следующей ошибкой при вставке. Но когда я запускаю это прямо в cursor.execute, он работает нормально.

"pyodb c .ProgrammingError: ('42000'," [42000] [Microsoft] [ODB C Драйвер 13 для SQL Сервер] [SQL Сервер] Неверный синтаксис рядом с INSERT INTO "

                for script in os.listdir(inputdir):
                        if script.endswith('.sql'):
                            script_path = inputdir + '\\' + script
                            file = open(script_path, 'r')
                            sql = s = " ".join(file.readlines())
                            val = now.strftime('%Y-%m-%d %H:%M:%S')
                            sql_nw = sql + ',' + '(a, b, c, d, e, f, g, h, i, j, k)' 
                        cursor.execute(sql_nw)

В файле. sql я добавил запрос как: 'INSERT INTO dbo (a, b, c, d, e, f, g, h, i, j, k) ЗНАЧЕНИЯ (?,?,?,?,?,?,?,?,?,?,?) '

Я много искал, но не смог найти решение. В чем здесь ошибка в sql, так как она прекрасно работает при выполнении в скрипте, но когда я пытаюсь прочитать скрипт. sql, я сталкиваюсь с этой ошибкой. Также, если возможно, пожалуйста, дайте мне знать, как я могу выполнить скрипты быстрее.

...