In un commento hai detto:
La documentazione di getSubString
afferma che:
Con una semplice funzione per generare e restituire un CLOB, posso recuperarlo su JDBC (ojdbc5
o ojdbc6
) senza problemi, neanche con getCLOB()
o getString()
. Ma se provo ad assegnare il Oracle.sql.CLOB
recuperato con getCLOB
a una String
usando
String x = getSubString(0, clob.length());
quindi ottengo anche gli Invalid argument(s) in call
errore. Basta cambiarlo in:
String x = getSubString(1, clob.length());
lavori. Quindi sembra non avere nulla a che fare con l'allocazione temporanea nella funzione o la dimensione del CLOB. Non capisco perché non hai avuto problemi con i CLOB più piccoli - forse la tua logica non ha colpito questo se erano piccoli?
Nel frattempo hai risolto questo problema con clob.getCharacterStream().read()
, quindi questo potrebbe essere un po' irrilevante ora.