Получение ошибки pypyodbc.ProgrammingError: ('42S02', "[42S02] [Microsoft] [Драйвер ODBC SQL Server] [SQL Server] Неверное имя объекта '#responses_to_dedupe'.") при попыткезапросить временную таблицу.Мои фактические запросы немного сложнее, но вот версия в разобранном виде, которая дает тот же результат:
c.execute("""
SELECT ECR_ID, RespondentID, ? AS DestinationID,
TEIQuestionID, DateSubmitted
INTO #responses_to_dedupe
FROM ETLTEIConsumerResponses
WHERE DoNotProcess IS NULL;
""", [source['destinationid']])
c.execute("""
SELECT *
FROM #responses_to_dedupe;
""")
(Обратите внимание, что обратная связь до сообщения об ошибке показывает нарушение, произошедшее в последней строке вышеупомянутогоблок кода - "" ") - не в первом из двух execute (), поэтому я предполагаю, что он просто отлично создал таблицу.)
Я делал то же самое длялет в производственном сценарии на той же машине / в среде без ошибки и даже создать другую временную таблицу ранее в этом сценарии и обращаться к ней без инцидентов. Единственное отличие от этих двух ситуаций состоит в том, что временная таблица названа с использованием регистра верблюда - этоодин я перебрал все строчные буквы с подчеркиванием. Но все равно получаю тот же результат, если я изменяю имя таблицы на # ResponsesToDedupe.
Я также пробовал оператор c.commit () между двумя, но одинаковорезультат.