ORACLE CLOB对象的读写

原创 2011年01月13日 13:50:00

public void insertUserInfo(String a, String c) throws Exception {
  PreparedStatement pst = null;
  ResultSet rs = null;
  Connection con = null;
  BufferedWriter outStream =null;
  DrmSysManager drmmgr = DrmSysManager.getInstance();
  DBPersistenceManager pm = drmmgr.getDBPersistenceManager("UNIEAP"); //获取数据库连接

  try{con=pm.getConnection();
  con.setAutoCommit(false);
  
  GetRowID getId = new GetRowID();
  String row_id = getId.getwoid("", "");
  String sql = "insert into user7001(row_id,USER_NAME,USER_DATE,USER_SQL)"
    + "values('" + row_id + "','" + a + "',sysdate,empty_clob())";
  pst=con.prepareStatement(sql);
  pst.executeUpdate();
  pst=con.prepareStatement("select user_sql from user7001 where row_ID='"
    + row_id + "' for update");
  rs=pst.executeQuery();
 
  if (rs.next()) {
   
   //oracle.sql.CLOB clob = (oracle.sql.CLOB) rs.getClob("user_sql");  
   oracle.sql.CLOB   clob=this.clobToWeblogicCLOB(rs.getClob("user_sql"));
   //weblogic.jdbc.wrapper.Clob_oracle_sql_CLOB   clob=(weblogic.jdbc.wrapper.Clob_oracle_sql_CLOB)rs.getClob("user_sql");
   outStream=new BufferedWriter(clob
     .getCharacterOutputStream());
   
   // data是传入的字符串,定义:String data

   outStream.write(c);
   if(outStream!=null){
    outStream.close();
   }
   con.commit();
  }
  }catch(Exception e){
   con.rollback();
   e.printStackTrace();
  }finally{
   //con.close();
   
  }
 }

 

 

public static oracle.sql.CLOB clobToWeblogicCLOB(Object in)
 {
  oracle.sql.CLOB clob=null;
  if ("oracle.sql.CLOB".equals(in.getClass().getName())){
      clob = (oracle.sql.CLOB)in;
  }else if ("weblogic.jdbc.wrapper.Clob_oracle_sql_CLOB".equals(in.getClass().getName())){
   Method method=null;
   try {
    method = in.getClass().getMethod("getVendorObj",new Class[]{});
   }
   catch (SecurityException e1) {
    // TODO Auto-generated catch block
    e1.printStackTrace();
   }
   catch (NoSuchMethodException e1) {
    // TODO Auto-generated catch block
    e1.printStackTrace();
   }
   
   try {
    clob = (oracle.sql.CLOB)method.invoke(in,null);

   }
   catch (IllegalArgumentException e) {
    // TODO Auto-generated catch block
    e.printStackTrace();
   }
   catch (IllegalAccessException e) {
    // TODO Auto-generated catch block
    e.printStackTrace();
   }
   catch (InvocationTargetException e) {
    // TODO Auto-generated catch block
    e.printStackTrace();
   }
  }
  return clob;
  
 }

C#对Oracle Clob对象的读写

C#对Oracle Clob对象的读写

jdbc读写Oracle的CLOB字段

  • 2008年06月19日 22:31
  • 305KB
  • 下载

python读写oracle的clob字段

python读取oracle的clob字段clob字段是oracle专门用于存储超长字符串的字段类型,一般varchar2只能存4000个字符串,超过4000个就存不下去了。 那么如何将clob读取...

hibernate在SSH框架操作ORACLE Clob字段类型的读写改

 首先是POJO类:import java.sql.Clob;import java.util.Date;/*** * @author coffee**/public class KybasicInf...

oracle对大对象类型操作:blob,clob,nclob,bfile

13-4 Lob类型         13.4.1 基本介绍         Oracle和plsql都支持lob(large object) 类型,用来存储大数量数据,如图像文件,声音文件等。O...
  • e_wsq
  • e_wsq
  • 2011年12月13日 19:58
  • 652

oracle对大对象类型操作:blob,clob,nclob,bfile

在oracle中,有4个大对象(lobs)类型可用,分别是blob,clob,bfile,nclob。 下面是对lob数据类型的简单介绍。 blob:二进制lob,为二进制数据,最长可达4G...

.NET中处理ORACLE大对象(CLOB,BLOB,BFILE)的开发

.NET中处理ORACLE大对象(CLOB,BLOB,BFILE)的开发了解如何使用 .NET 读写大对象 (LOB) 以及如何通过 BFILE 读取数据。本文相关下载:·示例代码·Oracle 数据...
  • sscsgss
  • sscsgss
  • 2011年01月24日 14:52
  • 3081

JDBC操作Oracle CLOB对象

把C:\TEMP\cbr_order_version_exp.log内容存入CLOB字段中,并将内容从数据库又读入C:\temp\retrieved\cbr_order_version_exp.log...

oracle对大对象类型操作:blob,clob,nclob

1.基本介绍 Oracle和plsql都支持lob(large object) 类型,用来存储大数量数据,如图像文件,声音文件等。Oracle 9i realse2支持存储最大为4g的数据,orac...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:ORACLE CLOB对象的读写
举报原因:
原因补充:

(最多只允许输入30个字)