oracle数据库超长文本用哪种类型储存比较好

如题所述

  clob类型,但对于这个类型处理起来还是比较麻烦的,varchar2长度为4000bytes,如果varchar2能满足楼主的需求,建议使用varchar2,下面提供了在Java 中读取clob类型的方式,我主要讲的是JDBC的操作,Hibernate目前不讲,操作这个Clob列主要分为插入和获取俩个操作:
  1、Java程序插入Clob值到Oracle数据库表中:
  String clob= "这里主要是要插入到表中的值";//前面具体数据库连接代码这里省略,直接进正题String sql = "insert into clob_test(id,str) values (1,?)";PreparedStatement stmt = conn.prepareStatement(sql);// 将clob转成流形式
  Reader clobReader = new StringReader(clob);stmt.setCharacterStream(1,clobReader,clob.length());// 替换sql语句中的?
  stmt.executeUpdate();
  2、读取Clob列的值
  String sql = "select str from clob_test where id=1";PreparedStatement stmt = conn.prepareStatement(sql);ResultSet rs = stmt.executeQuery();
  //最后获得的结果
  String resultClob;
  if(rs.next()){
  //导入oracle.sql.CLOB包,或者直接引用这个包oracle.sql.CLOB clob = rs.getClob("str");Reader rd= clob.getCharacterStream();// 得到流BufferedReader br = new BufferedReader(rd);String s = br.readLine();
  StringBuffer sb= new StringBuffer();
  while (s != null) {
  // 循环赋值
  sb.append(s);
  s = br.readLine();
  }
  clobResult = sb.toString();
  }
温馨提示:答案为网友推荐,仅供参考
第1个回答  2016-12-11
varchar就可以,可以拆成几个列存储。

相关了解……

你可能感兴趣的内容

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 非常风气网