In einem Kommentar sagten Sie:
Die Dokumentation von getSubString
besagt, dass:
Mit einer einfachen Funktion zum Generieren und Zurückgeben eines CLOB kann ich es über JDBC abrufen (ojdbc5 oder ojdbc6 ) ohne Probleme, auch nicht mit getCLOB() oder getString() . Aber wenn ich versuche, die Oracle.sql.CLOB zuzuweisen mit getCLOB abgerufen zu einem String mit
String x = getSubString(0, clob.length());
dann bekomme ich auch die Invalid argument(s) in call Error. Ändern Sie das einfach in:
String x = getSubString(1, clob.length());
funktioniert. Es scheint also nichts mit der temporären Zuweisung in der Funktion oder der CLOB-Größe zu tun zu haben. Ich verstehe nicht, warum Sie kein Problem mit kleineren CLOBs hatten - vielleicht hat Ihre Logik das einfach nicht getroffen, wenn sie klein waren?
Inzwischen haben Sie das mit clob.getCharacterStream().read() umgangen , daher ist dies jetzt vielleicht etwas irrelevant.