3
我正在使用cx_Oracle從一個數據庫中選擇行,然後將這些行插入到另一個數據庫中的表中。第二個表的列與第一個選擇相匹配。 所以我(簡化):python和cx_Oracle - 動態cursor.setinputsizes
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。即如何傳遞列表來設置輸入大小而不是參數? 希望這是有道理的 - 新的蟒蛇和cx_Oracle
非常感謝,還沒有看到。 – 2012-01-16 16:17:46