加入收藏 | 设为首页 | 会员中心 | 我要投稿 核心网 (https://www.hxwgxz.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长百科 > 正文

如何将文本附加到oracle clob

发布时间:2020-12-31 20:03:50 所属栏目:站长百科 来源:网络整理
导读:是否可以在不重新读取和重写整个内容的情况下将文本附加到oracle 9i clob? 我试过这个: PreparedStatement stmt = cnt.prepareStatement( "select OUT from QRTZ_JOBEXEC where EXEC_ID=? " + "for update",ResultSet.TYPE_FORWARD_ONLY,ResultSet.CONCUR_

是否可以在不重新读取和重写整个内容的情况下将文本附加到oracle 9i clob?

我试过这个:

PreparedStatement stmt = cnt.prepareStatement(
        "select OUT from QRTZ_JOBEXEC where EXEC_ID=? "
            + "for update",ResultSet.TYPE_FORWARD_ONLY,ResultSet.CONCUR_UPDATABLE);
try {
    stmt.setLong(1,id);
    ResultSet rs = stmt.executeQuery();
    if (rs.next()) {
        Clob clob = rs.getClob(1);
        long len = clob.length();
        Writer writer = clob.setCharacterStream(len+1);
        try {
            PrintWriter out = new PrintWriter(writer);
            out.println(line);
            out.close();
        } finally {
            writer.close();
        }
        rs.updateClob(1,clob);
        rs.updateRow();
    }
    rs.close();
} finally {
    stmt.close();
}

但是我在调??用setCharacterStream时遇到“不支持的功能”异常.

解决方法

如果您只是添加文本,那么您可以尝试一个简单的

UPDATE qrtz_jobexec SET out = out || ? WHERE exex_id=?

(编辑:核心网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    热点阅读