Det finns några möjliga lösningar:
- Uppgradera cx_Oracle. Jag är inte säker på vilken version du använder, men jag använder python 2.7.2 med cx_Oracle 5.1 och jag får inga felmeddelanden när jag infogar 150 000 tecken i en CLOB-kolumn utan att använda setinputsizes alls.
- Eftersom setinputsizes gäller för varje efterföljande marköranvändning är det bara att ändra det mellan dessa olika cursor.execute-satser.
t.ex.:
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)