在oracle中,有4个大对象(lobs)类型可用,分别是blob,clob,bfile,nclob。
blob:二进制lob,为二进制数据,最长可达4GB,存贮在数据库中。
clob:字符lob,字符数据,最长可以达到4GB,存贮在数据库中。
bfile:二进制文件;存贮在数据库之外的只读型二进制数据,最大长度由操作系统限制。
nclob:支持对字节字符集合(nultibyte characterset)的一个clob列。看着用吧!~

解决方案 »

  1.   

    该怎样将汉字存到blob里,再从blob里取出并显示出来呢?求源代码
      

  2.   

    汉字你用clob就行
    下面是插入的例子
     /* 插入一个空的CLOB对象 */
                    int i = stmt.executeUpdate(), j = 0;
                    stmt.close();
                    /* 查询此CLOB对象并锁定 */
                    String qqq = "select content from Information where id=" + info.getId() + " for update";
                    stmt = (oracle.jdbc.driver.OraclePreparedStatement)con.prepareStatement(qqq);
                    ResultSet rs = stmt.executeQuery();                if (rs.next()) {
                      /* 取出此CLOB对象 */
                        CLOB clob = ((OracleResultSet)rs).getCLOB("content");
                        /* 向CLOB对象中写入数据 */
                       
                        if(info.getId()==3601L) {                    }
                        else
                        clob.putString(1, info.getContent());
                    }
                    rs.close();
                    stmt.close();
                    con.commit();
                  }
      

  3.   

    在8i里的用法参考.clob最多4G,不会字段长度不够private final static String SAVE_DB =
    "INSERT INTO news(newsID,content) VALUES(?,empty_clob())";
    private final static String SAVE_DB2 = 
    "SELECT content FROM news WHERE newsID=? FOR UPDATE";
    Connection con = DBConnection.getConnection();
    con.setAutoCommit(false);PreparedStatement pstm = con.prepareStatement(SAVE_DB);
    ....
    pstm.executeUpdate();PreparedStatement pstm2 = con.prepareStatement(SAVE_DB2, ResultSet.TYPE_FORWARD_ONLY, ResultSet.CONCUR_UPDATABLE);
    pstm2.setInt(1, newsID);
    rs = pstm2.executeQuery();
    oracle.sql.CLOB clobContent = null;
    if (rs.next())
    {
    clobContent = (oracle.sql.CLOB)rs.getClob(1);
    }
    Writer wr = clobContent.getCharacterOutputStream();
    wr.write(content);
    wr.flush();
    wr.close();
    con.commit();