J2EE操作Oracle的clob类型字段
2013-04-17 16:38
471 查看
1.插入和更新
插入一条数据,注意CLOB字段,需要先插入一个空的clob类型 empty_clob(),然后再单独更新clob字段
在插入到更新之间一定要将自动提交设为false,否则,再次查找时就不能正确更新,查找时一定要用select XXX from table where ... for update
如果不加for update会报:“row containing the LOB value is not locked”;
如果在插入前没有将自动提交设为false会报 “fetch out of sequence”。
2.查询
插入一条数据,注意CLOB字段,需要先插入一个空的clob类型 empty_clob(),然后再单独更新clob字段
在插入到更新之间一定要将自动提交设为false,否则,再次查找时就不能正确更新,查找时一定要用select XXX from table where ... for update
如果不加for update会报:“row containing the LOB value is not locked”;
如果在插入前没有将自动提交设为false会报 “fetch out of sequence”。
String sql = "insert into User_CourseWare(User_Id,Courseware_Id,Progress,Report ,id)values( ?,?,?,empty_clob(), user_courseware_sq.nextval )"; conn.setAutoCommit(false);//设置不自动提交 PreparedStatement pstmt = conn.prepareStatement(sql); pstmt.setInt(1, userid); pstmt.setInt(2, courseware_Id); pstmt.setInt(3, Progress); pstmt.executeUpdate(); conn.commit(); pstmt = null; ResultSet rs = null; CLOB clob = null; String sql1 = "select Report from User_CourseWare where User_Id=? and Courseware_Id=? for update"; pstmt = conn.prepareStatement(sql1); pstmt.setInt(1, userid); pstmt.setInt(2, courseware_Id); rs = pstmt.executeQuery(); if (rs.next()) { clob = (CLOB) rs.getClob(1); } Writer writer = clob.getCharacterOutputStream(); writer.write(CourseClob); writer.flush(); writer.close(); conn.commit();
2.查询
Clob clob = rs.getClob("MODULE_INFO"); 方法一: byte[] info = clob!=null?clob.getSubString((long)1,(int)clob.length()).getBytes():null; 方法二: String line = ""; String value = ""; Reader reader = clob.getCharacterStream(); BufferedReader br = new BufferedReader(reader); while ((line = br.readLine()) != null) { value += line + "\r\n"; } System.out.println(value); byte[] info = value.getBytes();
相关文章推荐
- J2EE操作Oracle的clob类型字段
- J2EE操作Oracle的clob类型字段
- J2EE操作Oracle的clob类型字段
- J2EE操作Oracle的clob类型字段
- J2EE操作Oracle的clob类型字段
- hibernate在SSH框架操作ORACLE Clob字段类型的读写改
- JAVA对Oracle中BLOB、CLOB类型字段的操作说明
- oracle使用java操作clob类型的字段
- 通过JDBC 操作 ORACLE BLOB,CLOB字段类型
- (转)通过JDBC 操作 ORACLE BLOB,CLOB字段类型
- hibernate在SSH框架操作ORACLE Clob字段类型的读写改
- Oracle中对clob类型字段的操作
- hibernate在SSH框架操作ORACLE Clob字段类型的读写改
- [Oracle]大数据类型的操作之CLOB
- ORACLE 操作 CLOB 字段
- jdbc hibernate ibatis 操作Blob 和Clob类型字段(不断更新)
- oracle 日期类型字段的操作
- ORacle中Clob字段操作
- 用Java操作Oracle日期类型字段
- Oracle删除clob类型字段(回收站)