Ошибка «Неверное имя объекта» при выполнении запроса с использованием sqlalchemy - PullRequest
0 голосов
/ 05 марта 2019

Я соединяю базу данных с pycharm и использую sqlAlchemy. Когда я пытаюсь выполнить запрос вставки, он показывает следующую ошибку:

Invalid object name 'pfAnalytics.optPrice'

Ошибка связана с тем, что он добавляет «[» и «]» к имени моих таблиц, когда я делаю:

ins = table.insert()

если я проверяю строку, я вижу:

str(ins) == 'INSERT INTO [pfAnalytics.optPrice] DEFAULT VALUES'

вместо:

str(ins) == 'INSERT INTO pfAnalytics.optPrice DEFAULT VALUES'

мой запрос выглядит так:

listToWrite = all.to_dict(orient='records')

metadata = sql.schema.MetaData(bind=engine,reflect=True)
table = sql.Table("pfAnalytics.optPrice", metadata)

Session = sessionmaker(bind=engine)
session = Session()

querydel = sql.delete("pfAnalytics.optPrice")
results = consql.execute(querydel)

consql.execute(sql.insert(table), listToWrite)

Как избавиться от этих скобок?

1 Ответ

1 голос
/ 06 марта 2019

Ответ хитрый, он связан с ошибкой на сервере SQL.Поэтому мне пришлось указать, чтобы в начале и в конце имени таблицы не ставить скобки:

engine.dialect.identifier_preparer.initial_quote = ''
engine.dialect.identifier_preparer.final_quote = ''
...