Я использую cx_Oracle, чтобы выбрать строки из одной базы данных, а затем вставить эти строки в таблицу в другой базе данных. Столбцы 2-й таблицы соответствуют первому выбору.
Итак, я (упрощенно):
db1_cursor.execute('select col1, col2 from tab1')
rows = db1_cursor.fetchall()
db2_cursor.bindarraysize = len(rows)
db2_cursor.setinputsizes(cx_Oracle.NUMBER, cx_Oracle.BINARY)
db2_cursor.executemany('insert into tab2 values (:1, :2)', rows)
Это работает нормально, но мой вопрос заключается в том, как избежать жесткого кодирования в setinputsizes (у меня есть еще много столбцов).
Я могу получить типы столбцов из db1_cursor.description, но я не уверен, как передать их в setinputsizes. то есть как я могу передать список в setinputsizes вместо аргументов?
Надеюсь, что это имеет смысл - новинка для python и cx_Oracle