JDBC插入Oracle的CLOB字段的简单实用的例子和几点注意事项
来源:互联网 发布:java int数组转string 编辑:程序博客网 时间:2024/04/28 16:16
2009-12-21
//DBOperator是自写的库操作类
public static boolean setCLOB(String table, String column, String value, String whereSql){
DBOperator dbop = new DBOperator();
boolean defaultAutoCommint = false;
try{
dbop.setAutoCommit(false);
//#进行
ResultSet rs = dbop.query("select " + column + " from " + table + " " + whereSql + " for update" );
if(rs.next()){
oracle.sql.CLOB clob = (oracle.sql.CLOB)rs.getClob(column);
BufferedWriter writer = new BufferedWriter(clob.getCharacterOutputStream());
writer.write(value);
writer.flush();
writer.close();
dbop.commit();
rs.close();
}else{
rs.close();
Logger.logout("Faild insert CLOB because query sql string is not valid");
return false;
}
dbop.setDefaultAutoCommit();
dbop.close();
}catch(Exception ex){
Logger.logout("Found exception when insert values to CLOB columns ");
ex.printStackTrace();
try {
dbop.getConnector().rollback();
} catch (SQLException e) {
// TODO 自动生成 catch 块
e.printStackTrace();
}
return false;
}finally{
dbop.close();
}
return true;
}
注意事项:
第一
LOB数据不能象其它类型数据一样直接插入(INSERT)。插入前必须先插入一个空的LOB对象,CLOB类型的空对象 为EMPTY_CLOB (),BLOB类型的空对象为EMPTY_BLOB()。之后通过SELECT命令查询得到先前插入的记录并锁定, 继而将空对象修改为所要插入的LOB对象。
第二
在插入到更新之间一定要将自动提交设为false否则,再次查找时就不能正确更新,查找时一定要用select XXX from table where for update 如果不加for update会报:“row containing the LOB value is not locked”;如果在插入前没有将自动提交设为false会报 “fetch out of sequence ”。注意到以上两点一般就可以顺利插入clob型字段了。
- JDBC插入Oracle的CLOB字段的简单实用的例子和几点注意事项
- jdbc处理oracle的clob字段
- Oracle 插入CLOB字段的简易写法(纯脚本操作插入到CLOB字段)
- 使用JDBC操作基于Oracle的CLOB,BLOB字段类型
- jdbc方式读取oracle的clob字段实例
- jdbc方式读取oracle的clob字段实例
- 关于Oracle的BLOB、CLOB字段的操作方法(分JDBC和Hibernate两种)
- java插入内容进入oracle的clob字段
- jdbc操作Blob和Clob字段与字符串的转换
- ibatis操作oracle的clob字段和blob字段
- 原来oracle的clob字段处理是如此的简单
- JDBC中CLOB字段类型的示例
- jdbc 修改 数据的clob字段
- CLOB字段的插入以及更新操作
- CLOB字段的插入以及更新操作 .
- CLOB字段的插入与更新
- oracle的blob和clob字段的处理
- oracle的blob和clob字段的处理
- HTTP协议详解
- j2me的最佳实践和模式
- 适配器模式dapter
- Win7下调出任务快捷栏
- J2ME中MDILet
- JDBC插入Oracle的CLOB字段的简单实用的例子和几点注意事项
- 再度回到csdn
- 不舍得留下你一个人
- MIDLET编程的生命周期
- MIDP的域安全机制中的几个概念
- arm开发经验笔记
- j2me-MIDP的总体体系结构
- 怎么转几份啊?
- matlab绘制立体图