Trong một bình luận, bạn đã nói:
Tài liệu về getSubString
nói rằng:
Với một chức năng đơn giản để tạo và trả về CLOB, tôi có thể truy xuất nó qua JDBC (ojdbc5
hoặc ojdbc6
) không có vấn đề gì, với getCLOB()
hoặc getString()
. Nhưng nếu tôi cố gắng gán Oracle.sql.CLOB
được truy xuất bằng getCLOB
thành một String
sử dụng
String x = getSubString(0, clob.length());
thì tôi cũng nhận được Invalid argument(s) in call
lỗi. Chỉ cần thay đổi điều đó thành:
String x = getSubString(1, clob.length());
làm. Vì vậy, nó dường như không liên quan gì đến phân bổ tạm thời trong hàm, hoặc kích thước CLOB. Tôi không hiểu tại sao bạn lại không gặp vấn đề với các CLOB nhỏ hơn - có lẽ logic của bạn không thành vấn đề nếu chúng nhỏ?
Trong thời gian chờ đợi, bạn đã giải quyết vấn đề này với clob.getCharacterStream().read()
, vì vậy điều này có thể hơi không liên quan ngay bây giờ.