Ошибка при выполнении файла SQL с движком SQLAlchemy - использование% в аналогичном состоянии - PullRequest
0 голосов
/ 04 мая 2020

Я использую простую функцию Python для запуска файла SQL (все еще использую Python 2.7).

Соответствующие части используемой функции:

sql_query = read_file(file_path)
engine = sqlalchemy.create_engine(connection)
engine.execute(sql_query)

При запуске я получаю эту ошибку

TypeError: объект 'dict' не поддерживает индексирование

После поиска я нашел это: TypeError: ' Объект dict 'не поддерживает индексацию, генерируемую во втором экземпляре этого запроса

, а в запросе SQL я использую условие LIKE '%abc%'. Есть ли способ решить эту проблему, не меняя мой SQL запрос?

Спасибо

1 Ответ

0 голосов
/ 04 мая 2020

Используйте Текстовое SQL, чтобы указать SQLAlchemy обрабатывать строку как необработанную SQL.

from sqlalchemy.sql import text

sql_query = read_file(file_path)
engine = sqlalchemy.create_engine(connection)
engine.execute(text(sql_query))
...