Oracle 中的 CLOB 不允许插入超过 4000 个字符的数据

CLOB in oracle not allowing to insert data more than 4000 chars

下面是我的table

create table MY_LOG(SQNO NUMBER, CLOB_FLD CLOB);

下面是我从java端

执行的插入语句
stmt.execute(new StringBuilder(
                "INSERT INTO MY_LOG VALUES ('").append(logMessage.getNo()).append("','").append(logMessage.getStackTrace()).append("')"));

堆栈跟踪太大,即超过 4000 个字符。所以它的投掷

SQL Error: ORA-01704: string literal too long
01704. 00000 -  "string literal too long"
*Cause:    The string literal is longer than 4000 characters.
*Action:   Use a string literal of at most 4000 characters.
           Longer values may only be entered using bind variables.

是否有任何内置的功能或程序,或者我可以做些什么来使它正常工作??

提前致谢..

使用 PreparedStatement,使用 Connection.createCLob 创建 CLob,使用 CLob.setString 将文本放入 CLob,使用 PreparedStatement.setCLob

设置 PreparedStatement 参数