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.