I en kommentar sa du:
Dokumentationen för getSubString
anger att:
Med en enkel funktion för att generera och returnera en CLOB kan jag hämta den över JDBC (ojdbc5 eller ojdbc6 ) utan problem, antingen med getCLOB() eller getString() . Men om jag försöker tilldela Oracle.sql.CLOB hämtas med getCLOB till en String använder
String x = getSubString(0, clob.length());
då får jag även Invalid argument(s) in call fel. Bara att ändra det till:
String x = getSubString(1, clob.length());
Arbetar. Så det verkar inte ha något att göra med den tillfälliga allokeringen i funktionen, eller CLOB-storleken. Jag förstår inte varför du inte hade problem med mindre CLOB - kanske din logik bara inte träffade detta om de var små?
Under tiden har du löst det här med clob.getCharacterStream().read() , så detta kan vara lite irrelevant nu.