Oracle
 sql >> Database >  >> RDS >> Oracle

Inserimento di un CLOB utilizzando cx_Oracle

Ci sono alcune possibili soluzioni:

  1. Aggiorna cx_Oracle. Non sono sicuro di quale versione stai usando, ma sto usando python 2.7.2 con cx_Oracle 5.1 e non ottengo alcun errore quando inserisco 150.000 caratteri in una colonna CLOB senza usare setinputsizes.
  2. Poiché setinputsizes si applica a ogni successivo utilizzo del cursore, basta cambiarlo tra queste diverse istruzioni cursor.execute.

es:

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)