कुछ संभावित समाधान हैं:
- cx_Oracle को अपग्रेड करें। मुझे यकीन नहीं है कि आप किस संस्करण का उपयोग कर रहे हैं, लेकिन मैं cx_Oracle 5.1 के साथ अजगर 2.7.2 का उपयोग कर रहा हूं और सेटिनपुटसाइज का उपयोग किए बिना CLOB कॉलम में 150,000 वर्ण डालने पर मुझे कोई त्रुटि नहीं मिलती है।
- चूंकि setinputsizes प्रत्येक बाद के कर्सर उपयोग पर लागू होता है, बस इसे इन विभिन्न कर्सर के बीच बदलें। कथनों को निष्पादित करें।
उदाहरण:
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)