Основная вставка из Python List/DICT в базу данных Oracle с использованием CX_ORACLE executeMany ()Python

Программы на Python
Ответить Пред. темаСлед. тема
Anonymous
 Основная вставка из Python List/DICT в базу данных Oracle с использованием CX_ORACLE executeMany ()

Сообщение Anonymous »

Я вставляю данные из словаря Python в Oracle DB. Я использовал executemany () из класса курсора. Я получаю следующую ошибку: < /p>

ora-01036: Имя незаконной переменной /число < /strong> < /p>

Кроме того, когда я использую try /кроме executemany () я получаю дополнительную ошибку: < /p>

функция exectumery.coracle. Подключен < /strong> < /p>

Среда:
python: 3.6.7, Oracle: 12c, CX_ORACL Список словарей выглядит как < /p>

[{'location': 1, 'xxx_id': 917985, 'seq': 758, 'event_time':
datetime.datetime(2019, 5, 5, 20, 1, 53), 'event_type': 'xxxx', 'number':
123, 'stop': '40305', 'x': None, 'y': None, 'arrival_time':
datetime.datetime(2019, 5, 5, 20, 1, 33), 'departure_time':
datetime.datetime(2019, 5, 5, 20, 2), 'yyy_id': 529934, 'zzz_id': 59359277},
{'location': 1, 'xxx_id': 917985, 'seq': 759, 'event_time':
datetime.datetime(2019, 5, 5, 20, 2, 33), 'event_type': 'xxxx', 'number':
123, 'stop': '40301', 'x': None, 'y': None, 'arrival_time':
datetime.datetime(2019, 5, 5, 20, 2, 27), 'departure_time':
datetime.datetime(2019, 5, 5, 20, 2, 50), 'yyy_id': 529930, 'zzz_id': 59279},

{.......},
{.......}
]
< /code>

Пробовал другие рекомендации от Stackoverflow, но не повезло. Самый близкий к моей ситуации - это. Вставьте список словарей в таблицу SQL, используя Python < /p>

Вот мой код, который я попробовал < /p>

sql_insert = '''INSERT INTO TABLE_NAME (LOCATION, XXX_ID, SEQ,
EVENT_TIME, EVENT_TYPE, NUMBER, STOP, X, Y, ARRIVAL_TIME, DEPARTURE_TIME,
YYY_ID, ZZZ_ID)
VALUES(:1, :2, :3, :4, :5, :6, :7, :8, :9, :10, :11, :12, :13)'''

for k1, v1 in events.items():
list_events = []
for k2, v2 in v1.items():
x = dict(v2)
# print(x)
list_events.append(x)
cursor = connection.cursor()
try:
cursor.executemany(sql_insert, list_events)
connection.commit()
except cx_Oracle.DatabaseError as e:
print(e)
< /code>

Я пытаюсь вставить несколько тысяч записей. Любая помощь будет очень заметной.

Подробнее здесь: https://stackoverflow.com/questions/564 ... xecutemany
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Python»