Dalam komentar Anda mengatakan:
Dokumentasi getSubString
menyatakan bahwa:
Dengan fungsi sederhana untuk menghasilkan dan mengembalikan CLOB, saya dapat mengambilnya melalui JDBC (ojdbc5 atau ojdbc6 ) tanpa masalah, baik dengan getCLOB() atau getString() . Tetapi jika saya mencoba menetapkan Oracle.sql.CLOB diambil dengan getCLOB ke String menggunakan
String x = getSubString(0, clob.length());
lalu saya juga mendapatkan Invalid argument(s) in call kesalahan. Ubah saja menjadi:
String x = getSubString(1, clob.length());
bekerja. Jadi sepertinya tidak ada hubungannya dengan alokasi sementara dalam fungsi, atau ukuran CLOB. Saya tidak mengerti mengapa Anda tidak memiliki masalah dengan CLOB yang lebih kecil - mungkin logika Anda tidak tepat jika ukurannya kecil?
Sementara itu Anda telah mengatasinya dengan clob.getCharacterStream().read() , jadi ini mungkin agak tidak relevan sekarang.