Istnieje kilka możliwych rozwiązań:
- Uaktualnij cx_Oracle. Nie jestem pewien, której wersji używasz, ale używam pythona 2.7.2 z cx_Oracle 5.1 i nie otrzymuję żadnych błędów podczas wstawiania 150 000 znaków do kolumny CLOB bez użycia setinputsizes.
- Ponieważ setinputsizes dotyczy każdego kolejnego użycia kursora, po prostu zmień go pomiędzy tymi różnymi instrukcjami cursor.execute.
np.:
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)