Я хочу прочитать таблицу из сценария запроса на моем компьютере.
Я обнаружил, что команда проста:
with open(sql_file, 'r') as opened:
query = alq.text(opened.read())
Первая проблема связана с кодировкой:
UnicodeDecodeError: 'charmap' codec can't decode byte 0x81
in position 7963: character maps to <undefined>
Итак, мы делаем то, что делаем, ищем ответ, чтобы добавить аргумент в команду open(sql_file, encoding='utf8')
и выполняем запрос.
engine.execute(query)
А теперь ошибка более хитрая:
ProgrammingError: (pyodbc.ProgrammingError) ('42000', "[42000]
[Microsoft][ODBC Driver 11 for SQL Server][SQL Server]
Incorrect syntax near '\ufeff'. (102) (SQLExecDirectW)")
[SQL: "\ufeffWITH\n-- Some comment about the query\nQC_SCORE AS
(\n SELECT some_table.id\n , other_table.column\n
То есть неправильно читается файл.После проверки я обнаружил, что в начале файла есть \ufeff
и что разрывы строк \n
не переводятся.
Кто-нибудь знает, как это сделать?