Có một số giải pháp khả thi:
- Nâng cấp cx_Oracle. Tôi không chắc bạn đang sử dụng phiên bản nào, nhưng tôi đang sử dụng python 2.7.2 với cx_Oracle 5.1 và tôi không gặp bất kỳ lỗi nào khi chèn 150.000 ký tự vào cột CLOB mà không sử dụng kích thước setinputs.
- Vì kích thước thông lượng setin áp dụng cho mọi lần sử dụng con trỏ tiếp theo, chỉ cần thay đổi kích thước giữa các câu lệnh cursor.execute khác nhau này.
ví dụ:
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)