考えられる解決策はいくつかあります:
- cx_Oracleをアップグレードします。使用しているバージョンはわかりませんが、cx_Oracle5.1でpython2.7.2を使用しており、setinputsizesをまったく使用せずに150,000文字をCLOB列に挿入してもエラーは発生しません。
- setinputsizesはその後のすべてのカーソル使用に適用されるため、これらの異なるcursor.executeステートメント間で変更するだけです。
例:
cursor = connection.cursor()
cursor.setinputsizes(FOO=None, BAR=None)
cursor.execute("INSERT INTO myTable (FOO, BAR) VALUES (:FOO, :BAR)",
FOO=val1, BAR=val2)
cursor.setinputsizes(HERP = cx_Oracle.CLOB)
cursor.execute("INSERT INTO myTable2 (HERP) VALUES (:HERP)", HERP=val3)