Create CLOB from long string using JDBC

后端 未结 2 584
小鲜肉
小鲜肉 2021-01-12 23:12

I have the following query:

select id from table1 where some_func(?) = 1;

where some_func is a function which allows its argum

相关标签:
2条回答
  • 2021-01-12 23:21

    The CLOB could be created in a simple manner:

    if(obj instanceof String && ((String) obj).length() >= 4000) {
        Clob clob = connection.createClob();
        clob.setString(1, (String) obj);
        stmt.setClob(i+1, clob);
    }

    Then these clobs should be freed of course.

    0 讨论(0)
  • 2021-01-12 23:34

    From my experience setCharacterStream() is much more reliable than setClob()

    String s = (String) obj;
    StringReader stringReader = new StringReader(s);
    stmt.setCharacterStream(i + 1, stringReader , s.length());
    

    and it works without the need to create CLOB objects

    0 讨论(0)
提交回复
热议问题