Найти - Пользователи
Полная версия: Ошибка в запросе к Терадате
Начало » Базы данных » Ошибка в запросе к Терадате
1
Lise
Добрый вечер!

Сегодня столкнулась с такой проблемой - пытаюсь удалить таблицы на сервере Терадаты (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
py.user.next
Какая команда по имени sql записана в строке?
Lise
py.user.next
Какая команда по имени sql записана в строке?
DROP TABLE ‘table1’; DROP TABLE ‘table2’;
py.user.next
Попробуй другую команду дать и не две команды, а одну. Убедись, что скрипт вообще работает на гаратированно разрешённой команде для данного пользователя БД.
Jony1990
Вот и я не совсем понял , к чему вообще был этот вопрос )
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB