V komentáři jste řekli:
Dokumentace getSubString
uvádí, že:
Pomocí jednoduché funkce pro generování a vrácení CLOB jej mohu načíst přes JDBC (ojdbc5
nebo ojdbc6
) bez problémů, ani s getCLOB()
nebo getString()
. Ale pokud se pokusím přiřadit Oracle.sql.CLOB
načteno pomocí getCLOB
do String
pomocí
String x = getSubString(0, clob.length());
pak dostanu také Invalid argument(s) in call
chyba. Stačí to změnit na:
String x = getSubString(1, clob.length());
funguje. Zdá se tedy, že to nemá nic společného s dočasnou alokací ve funkci nebo velikostí CLOB. Nechápu, proč jste neměli problém s menšími CLOBy - možná vaše logika jen nezasáhla toto, pokud byly malé?
Mezitím jste to obešli pomocí clob.getCharacterStream().read()
, takže to teď může být trochu irelevantní.