Найти - Пользователи
Полная версия: python 2.7 cx_Oracle executemany
Начало » Базы данных » python 2.7 cx_Oracle executemany
1
mid.tier
Доброго всем времени суток.
Есть таблица в базе Oracle, куда хочется записать большой объем примитивныданных (числа, строки). Данные представлены в виде списка словарей. Таблица (t) имеет PK (столбец a1) на основе последовательности s. При вставке записи, значение ключа необходимо сохранить для дальнейшей обработки в приложении.
Вопрос: возможно-ли выполнение вставки путем применения скрипта
 insert into t( a1, a2, a3) values (s.nextval, :n, :s) returning into :a1
через метод executemany для курсора? Как правильно определить переменную для сохранения значения? При передаче в executemany списка из словарей с переменными (var), включая :a1 приложение полностью “падает”. Окружение: cx_oracle 5.1, python 2.7, XP sp3.
mid.tier
Отвечу сам:

Если через executemany выполнять предложение SQL, содержащее SELECT, то получим сообщение об ошибке что select-ы не поддерживаются. Видимо в cx_Oracle, есть какой-то баг, который приводит к падению без вывода этого сообщения при выполнении INSERT … RETURNING INTO.
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