更新clob类型的值

/**
     * 更新clob数据类型的值
     * @param columnName
     * @param lids
     * @param para
     * @return
     */
    public static boolean executeClobSQL(String columnName,String lids,String para){
        boolean flag = false;
        Connection connection = null;
        PreparedStatement  pstmt = null;
        ResultSet rs = null;
        Writer outStream = null;
        try {
            connection = GsUtil.getConnection();
                //for update 锁定数据
                pstmt = connection.prepareStatement(" select "+columnName+" from g3_log_info where lids=‘"+lids+"‘ for update");
                rs = pstmt.executeQuery();
                while(rs.next()){
                    oracle.sql.CLOB clobparas = (oracle.sql.CLOB) rs.getClob(1);
                    outStream = clobparas.getCharacterOutputStream();
                   //data是传入的字符串,定义:String data
                   char[] cp = para.toCharArray();
                   outStream.write(cp, 0, cp.length);
                }
                outStream.flush();
                outStream.close();
                connection.commit();
        } catch (Exception e) {
            e.printStackTrace();
        }finally{
            GsUtil.closeConnection(rs, pstmt, connection);
        }
        return flag;
    }

原文地址:https://www.cnblogs.com/lxh520/p/9012743.html

时间: 2024-10-09 20:22:09

更新clob类型的值的相关文章

java中clob类型的值处理

1.String类转换Clob类型 private Clob clobStr; private String Str="测试值"; clobStr = Hibernate.createClob(obj.toJSONString()); 2.Clob类型转换String类型 private Clob clobStr; private String Str; Str = clobStr.getSubString(1, (int) clobStr.length());

内置对象Clob对从数据库表中取的字符大对象CLOB类型的列值进行读取操作

1 package readclobDemo.bao; 2 3 import java.io.IOException; 4 import java.io.Reader; 5 import java.sql.Clob; 6 import java.sql.Connection; 7 import java.sql.PreparedStatement; 8 import java.sql.ResultSet; 9 import java.sql.SQLException; 10 11 import

Oracle中Clob类型处理解析:ORA-01461:仅可以插入LONG列的LONG值赋值

感谢原作者:破剑冰-Oracle中Clob类型处理解析 上一篇分析:ORA-01461: 仅能绑定要插入 LONG 列的 LONG 值 最近为Clob字段在插入数据时发现当字符的字节数(一个半角字符一个字节,一个全角字符两个字节)在2000-4000之间时报错(ORA-01461:仅可以插入LONG列的LONG值赋值).经过不断查找资料和自己的试验该问题终于得到解决,下边我将自己的心得给大家做一个分享. 准备 系统环境 xp+.net2.0+oracle9i 表结构(由于是测试,表结构随便建了一

类型初始值设定项引发异常。

今天运行之前写好的代码却提示:"_23.DBhelp"的类型初始值设定项引发异常. 后来发现是webservice更新引用时出现了重复的 <endpoint address="http://10.58.656:809/Service.asmx" binding="basicHttpBinding" bindingConfiguration="ServiceSoap" contract="WebReference

Oracle处理Clob类型数据入库(String入库)

从网上查找一堆参考,要么语焉不详,要么不可行.自己鼓捣了一堆可以正常入库了.请看最后: insert into CP_V_INFO" + "(ID, "+ "PROJECT_ID, "+ …… "V_INFO, "+ …… "VERSION)values(?,?,?,?,?,?,?,?,?,?," + "?,?,EMPTY_CLOB(),?,?,?,?,?,?,?," + "?,?,?,

Oracle 中LONG RAW BLOB CLOB类型介绍

说明: RAW: 未加工类型,可存储二进制数据或字节符 LONG: 可变长的字符串数据,最长2G,LONG具有VARCHAR2列的特性,可以存储长文本一个表中最多一个LONG列[不建议使用] LONG RAW: 可变长二进制数据,最长2G [不建议使用] CLOB: 字符大对象Clob 用来存储单字节的字符数据:大型文本,例如XML数据. NCLOB: 用来存储多字节的字符数据 BLOB: 用于存储二进制大对象数据:例如数码照片: BFILE: 存储在文件中的二进制数据,这个文件中的数据只能被只

Oracle中Clob类型处理解析 (转)

转:原文:http://blog.csdn.net/pojianbing/article/details/2789426 最近利用NHibernate映射类型为Clob字段在插入数据时发现当字符的字节数(一个半角字符一个字节,一个全角字符两个字节)在2000-4000之间时报错(ORA-01461:仅可以插入LONG列的LONG值赋值).经过不断查找资料和自己的试验该问题终于得到解决,下边我将自己的心得给大家做一个分享. 准备 系统环境 xp+.net2.0+oracle9i 表结构(由于是测试

Java Clob类型转String类型

前两天的项目中,有个字段是Clob类型的,用纯sql取数据的时候不能直接转成String类型的.所以得自己手动转一下,于是乎用到了以下代码,在这里贴出来分享一下,如果小伙伴们需要的可以直接拿去用,这个亲测是可以使用的哦... 话不多说,代码才是王道... // Clob类型 转String public String ClobToString(Clob clob) throws SQLException, IOException { String reString = ""; Read

Jpa更新blob类型数据问题

今天做项目,碰到了一个很坑爹的问题,jpa在进行blob类型数据插入的时候调用entityManager.persist(entity);可以成功插入,但是在更新的时候,调用 entity = entityManager.merge(entity);entity可以获取更新之后的值,但是执行完后数据库只更新其他类型的数据,blob类型的数据还是修改之前的数据,没有将新的值持久化进去,这个是什么问题呢?求解~~~