Dans un commentaire, vous avez dit :
La documentation de getSubString
déclare que :
Avec une fonction simple pour générer et renvoyer un CLOB, je peux le récupérer via JDBC (ojdbc5 ou ojdbc6 ) sans problème, soit avec getCLOB() ou getString() . Mais si j'essaie d'attribuer le Oracle.sql.CLOB récupéré avec getCLOB à une String en utilisant
String x = getSubString(0, clob.length());
puis j'obtiens également le Invalid argument(s) in call Erreur. Changez simplement cela en :
String x = getSubString(1, clob.length());
œuvres. Cela semble donc n'avoir rien à voir avec l'allocation temporaire dans la fonction ou la taille CLOB. Je ne comprends pas pourquoi vous n'avez pas eu de problème avec les petits CLOB - peut-être que votre logique n'a tout simplement pas atteint cela s'ils étaient petits ?
En attendant, vous avez contourné ce problème avec clob.getCharacterStream().read() , donc cela peut être un peu hors de propos maintenant.