Уведомления

Группа в Telegram: @pythonsu

#1 Сен. 2, 2019 21:53:55

Lise
Зарегистрирован: 2019-09-02
Сообщения: 2
Репутация: +  0  -
Профиль   Отправить e-mail  

Ошибка в запросе к Терадате

Добрый вечер!

Сегодня столкнулась с такой проблемой - пытаюсь удалить таблицы на сервере Терадаты (drop table) используя питон. При этом возвращается ошибка “Only a commit work or null statment is legal after DDL statment”. С такой же ошибкой сталкиваешься на терадате, когда в процедуре забываешь поставить Commit work после выполнения команды. 

Пробовала закинуть commit work в запрос в питоне после каждой команды drop table, но не сработало - та же ошибка, почему-то. Пробовала изменить session mod c ansi на teradata, тоже не помогло (возникла другая ошибка). Если запустить сам запрос в терадате с коммитами, получим, естественно, ошибку, что нет открытых транзакций.

Так в чем может быть проблема и как ее исправить?

Скрипт выглядит следующим образом:

conn = pyodbc.connect(“DSN= Teradata”)

cur = conn.cursor()

sql = ‘drop table ’table1'; drop table ‘table2’;''

cur.execute(sql)




У меня стоит питон 3.7, windows 7

Отредактировано Lise (Сен. 2, 2019 21:55:11)

Офлайн

#2 Сен. 3, 2019 05:35:21

py.user.next
От:
Зарегистрирован: 2010-04-29
Сообщения: 8420
Репутация: +  756  -
Профиль   Отправить e-mail  

Ошибка в запросе к Терадате

Какая команда по имени sql записана в строке?



Отредактировано py.user.next (Сен. 3, 2019 05:35:38)

Офлайн

#3 Сен. 3, 2019 09:12:38

Lise
Зарегистрирован: 2019-09-02
Сообщения: 2
Репутация: +  0  -
Профиль   Отправить e-mail  

Ошибка в запросе к Терадате

py.user.next
Какая команда по имени sql записана в строке?
DROP TABLE ‘table1’; DROP TABLE ‘table2’;

Офлайн

#4 Сен. 3, 2019 14:43:12

py.user.next
От:
Зарегистрирован: 2010-04-29
Сообщения: 8420
Репутация: +  756  -
Профиль   Отправить e-mail  

Ошибка в запросе к Терадате

Попробуй другую команду дать и не две команды, а одну. Убедись, что скрипт вообще работает на гаратированно разрешённой команде для данного пользователя БД.



Офлайн

#5 Апрель 24, 2020 22:46:20

Jony1990
Зарегистрирован: 2020-04-24
Сообщения: 12
Репутация: +  -1  -
Профиль   Отправить e-mail  

Ошибка в запросе к Терадате

Вот и я не совсем понял , к чему вообще был этот вопрос )

Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version